Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Perhatian
Jaringan SIG Kubernetes dan Komite Respons Keamanan mengumumkan penghentianproyek NGINX Ingress yang akan datang, dengan pemeliharaan berakhir pada Maret 2026. Tidak ada tindakan langsung yang diperlukan hari ini untuk kluster AKS menggunakan add-on perutean aplikasi dengan NGINX. Microsoft akan memberikan dukungan resmi untuk patch keamanan penting pada sumber daya add-on perutean aplikasi NGINX Ingress hingga November 2026.
AKS menyelaraskan dengan Kubernetes utama dengan pindah ke Gateway API sebagai standar jangka panjang untuk ingress dan manajemen trafik L7. Sebaiknya Anda mulai merencanakan jalur migrasi berdasarkan penyiapan Anda saat ini:
- Pengguna add-on perutean aplikasi: Beban kerja produksi tetap didukung sepenuhnya hingga November 2026. Migrasikan ke implementasi API Gateway perutean aplikasi untuk pengalaman manajemen lalu lintas masuk berbasis API Gateway.
-
Pengguna OSS NGINX memiliki beberapa opsi:
- Migrasikan ke add-on perutean aplikasi dengan NGINX untuk memanfaatkan dukungan resmi hingga November 2026 sambil merencanakan migrasi API Gateway jangka panjang Anda.
- Migrasikan ke implementasi API Gateway perutean aplikasi untuk pengalaman manajemen lalu lintas masuk berbasis API Gateway.
- Migrasikan ke Gerbang Aplikasi untuk Kontainer yang mendukung API Ingress dan API Gerbang.
- Jala layanan atau persyaratan masuk tingkat lanjut: Pertimbangkan masuknya API Gateway dengan add-on jala layanan Istio. Anda dapat menggunakannya untuk ingress tanpa menyisipkan sidecar ke dalam beban kerja Anda. Jika Anda memerlukan batas ukuran header dan isi permintaan, skrip Lua, atau pembatasan laju, tinjau keterbatasan dan alternatif Gateway API.
Pengontrol ingress-nginx dalam add-on perutean aplikasi menyediakan banyak metrik untuk permintaan, proses nginx, dan pengontrol, yang dapat berguna dalam menganalisis performa dan penggunaan aplikasi Anda.
Add-on routing aplikasi mengekspos titik akhir metrik Prometheus pada port 10254 di /metrics dan Layanan privat nginx-metrics.
Prerequisites
- Kluster Azure Kubernetes Service (AKS) dengan add-on perutean aplikasi yang diaktifkan.
- Instans Prometheus, seperti layanan terkelola Azure Monitor untuk Prometheus.
Memvalidasi titik akhir metrik
Untuk memvalidasi metrik yang dikumpulkan, Anda dapat menyiapkan penerusan port dari port lokal ke port 10254 dari layanan nginx-metrics.
kubectl port-forward -n app-routing-system service/nginx-metrics :10254
Forwarding from 127.0.0.1:43307 -> 10254
Forwarding from [::1]:43307 -> 10254
Perhatikan port lokal (43307 dalam hal ini) dan buka http://localhost:43307/metrics di browser Anda. Anda seharusnya melihat pemuatan metrik pengontrol ingress-nginx.
Anda sekarang dapat mengakhiri proses port-forward untuk menghentikan penerusan.
Mengonfigurasi layanan terkelola Azure Monitor untuk Prometheus
Layanan terkelola Azure Monitor untuk Prometheus adalah layanan yang kompatibel dengan Prometheus yang dikelola sepenuhnya yang mendukung fitur standar industri seperti PromQL, dasbor Grafana, dan pemberitahuan Prometheus. Layanan ini memerlukan konfigurasi add-on metrik untuk agen Azure Monitor, yang mengirim data ke Prometheus. Jika kluster Anda tidak dikonfigurasi dengan add-on, Anda dapat mengikuti artikel ini untuk mengonfigurasi kluster Azure Kubernetes Service (AKS) untuk mengirim data ke layanan terkelola Azure Monitor untuk Prometheus.
Mengaktifkan pengikisan berbasis Service Monitor
Setelah kluster Anda diperbarui dengan agen Azure Monitor, Anda perlu mengonfigurasi agen untuk mengaktifkan pengikisan titik akhir metrik. Anda dapat membuat Pod atau Service Monitor untuk menyelesaikan hal ini.
Berikut ini membuat Service Monitor untuk melakukan scrape metrik dari pengontrol ingress-nginx yang diterapkan oleh add-on perutean aplikasi.
kubectl apply -f - <<EOF
apiVersion: azmonitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: nginx-monitor
namespace: app-routing-system
spec:
labelLimit: 63
labelNameLengthLimit: 511
labelValueLengthLimit: 1023
selector:
matchLabels:
app.kubernetes.io/component: ingress-controller
app.kubernetes.io/managed-by: aks-app-routing-operator
app.kubernetes.io/name: nginx
endpoints:
- port: prometheus
EOF
Dalam beberapa menit, ama-metrics pod di kube-system namespace harus memulai ulang dan mengambil konfigurasi baru.
Meninjau visualisasi metrik di Azure Managed Grafana
Sekarang setelah Anda memiliki layanan terkelola Azure Monitor untuk Prometheus dan Azure Managed Grafana yang dikonfigurasi, Anda sebaiknya mengakses instance Grafana Terkelola Anda.
Ada dua dasbor ingress-nginx resmi yang dapat Anda unduh dan impor ke instans Grafana Anda:
- Dasbor pengontrol Ingress-nginx
- Dasbor performa penanganan permintaan
Dasbor pengontrol Ingress-nginx
Dasbor ini memberi Anda visibilitas volume permintaan, koneksi, tingkat keberhasilan, pemuatan ulang konfigurasi, dan konfigurasi tidak sinkron. Anda juga dapat menggunakannya untuk melihat tekanan IO jaringan, memori, dan penggunaan CPU pengontrol ingress. Akhirnya, ini juga menunjukkan waktu respons persentil P50, P95, dan P99 dari ingress Anda dan throughputnya.
Anda dapat mengunduh dasbor ini dari GitHub.
Dasbor performa penanganan permintaan
Dasbor ini memberi Anda visibilitas ke dalam performa penanganan permintaan dari berbagai tujuan hulu ingress, yang merupakan titik akhir aplikasi Anda yang diteruskan oleh pengontrol ingress. Ini menunjukkan persentil P50, P95, dan P99 dari total permintaan dan waktu respons upstream. Anda juga dapat melihat agregat kesalahan permintaan dan latensi. Gunakan dasbor ini untuk meninjau dan meningkatkan performa dan skalabilitas aplikasi Anda.
Anda dapat mengunduh dasbor ini dari GitHub.
Mengimpor dashboard
Untuk mengimpor dasbor Grafana, perluas menu sebelah kiri dan klik Impor di bawah Dasbor.
Kemudian unggah file dasbor yang diinginkan dan klik Muat.
Langkah selanjutnya
- Anda dapat mengonfigurasi penskalakan beban kerja menggunakan metrik ingress yang diekstraksi dengan Prometheus menggunakan Kubernetes Event Driven Autoscaler (KEDA). Pelajari selengkapnya tentang mengintegrasikan KEDA dengan AKS.
- Buat dan jalankan pengujian beban dengan Azure Load Testing untuk menguji performa beban kerja dan mengoptimalkan skalabilitas aplikasi Anda.