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.
- Pengguna jala layanan: Jika Anda berencana untuk mengadopsi jala layanan, pertimbangkan add-on jala layanan berbasis Istio. Gunakan Istio Ingress hari ini, dan rencanakan untuk bermigrasi ke ISTIO Gateway API, yang sekarang menjadi GA.
Salah satu cara untuk merutekan lalu lintas Hypertext Transfer Protocol (HTTP) dan aman (HTTPS) ke aplikasi yang berjalan pada kluster Azure Kubernetes Service (AKS) adalah dengan menggunakan objek Kubernetes Ingress. Saat Anda mengaktifkan add-on perutean aplikasi dengan NGINX, ia membuat, mengonfigurasi, dan mengelola pengontrol Ingress di kluster AKS Anda.
Artikel ini menunjukkan kepada Anda cara mengaktifkan pengontrol NGINX Ingress terkelola dan mengonfigurasi objek Ingress untuk merutekan lalu lintas ke aplikasi di kluster AKS Anda.
Penambahan routing aplikasi dengan fitur NGINX
Add-on perutean aplikasi dengan NGINX memberikan hal berikut:
- Konfigurasi mudah dari pengontrol NGINX Ingress terkelola berdasarkan NGINX Ingress controller Kubernetes.
- Integrasi dengan Azure DNS untuk manajemen zona publik dan privat.
- Penghentian SSL dengan sertifikat yang disimpan di Azure Key Vault.
Untuk konfigurasi lain, lihat:
- Konfigurasi DNS dan SSL.
- Konfigurasi add-on perutean aplikasi.
- Konfigurasikan pengontrol ingress NGINX internal untuk zona DNS privat Azure.
Penting
Mulai 30 September 2027, Azure Kubernetes Service (AKS) tidak lagi mendukung add-on Open Service Mesh (OSM). Proyek Open Service Mesh upstream telah dihentikan.
Jika kluster Anda menggunakan add-on OSM, migrasikan ke add-on Istio sebelum tanggal akhir dukungan. Pemberitahuan penghentian ini hanya berlaku untuk add-on OSM terkelola dan tidak mencakup instalasi service mesh open-source atau yang dikelola sendiri. Untuk langkah-langkah migrasi, lihat Panduan migrasi dari add-on OSM ke add-on Istio. Untuk tetap mendapatkan informasi tentang pengumuman dan pembaruan AKS, ikuti catatan rilis AKS.
Prasyarat
- Langganan Azure. Jika Anda tidak memiliki langganan Azure, Anda dapat membuat akun gratis.
- Azure CLI versi 2.54.0 atau yang lebih baru diinstal dan dikonfigurasi. Jalankan
az --versionuntuk menemukan versinya. Jika Anda perlu memasang atau meningkatkan, lihat Memasang Azure CLI.
Batasan
Tambahan perutean aplikasi mendukung hingga lima zona Azure DNS.
Add-on pengarutan aplikasi hanya dapat diaktifkan pada cluster AKS dengan identitas terkelola.
Semua zona Azure DNS global yang terintegrasi dengan add-on harus berada dalam grup sumber daya yang sama.
Semua zona Azure DNS privat yang terintegrasi dengan add-on harus berada dalam grup sumber daya yang sama.
Mengedit ingress-nginx
ConfigMapdiapp-routing-systemnamespace tidak didukung.Jika nilai anotasi cuplikan cocok dengan salah satu nilai yang diblokir berikut, Ingress tidak dikonfigurasi:
Nilai yang diblokir Efek load_moduleIngress tidak dikonfigurasi. lua_packageIngress tidak dikonfigurasi. _by_luaIngress tidak dikonfigurasi. locationIngress tidak dikonfigurasi. rootIngress tidak dikonfigurasi. proxy_passIngress tidak dikonfigurasi. serviceaccountIngress tidak dikonfigurasi. {Ingress tidak dikonfigurasi. }Ingress tidak dikonfigurasi. 'Ingress tidak dikonfigurasi. Add-on tidak secara resmi mendukung menyuntikkan sidecar yang tidak dikelola Microsoft (misalnya, telemetri kustom, pengelogan, atau agen keamanan) ke dalam pod proksi ingress-nginx yang dikelolanya. Jika Anda memilih untuk menyisipkan sidecar Anda sendiri ke dalam pod proksi terkelola, Microsoft hanya memberikan dukungan sebatas upaya terbaik atas masalah apa pun yang Anda alami.
Mengaktifkan add-on perutean aplikasi menggunakan Azure CLI
Aktifkan pada kluster baru
Untuk mengaktifkan perutean aplikasi pada kluster baru, gunakan perintah az aks create dengan menentukan flag --enable-app-routing.
az aks create \
--resource-group <resource-group-name> \
--name <cluster-name> \
--location <location> \
--enable-app-routing \
--generate-ssh-keys
Aktifkan pada kluster yang ada
Untuk mengaktifkan perutean aplikasi pada kluster yang ada, gunakan perintah az aks approuting enable.
az aks approuting enable --resource-group <resource-group-name> --name <cluster-name>
Hubungkan ke kluster AKS Anda
Untuk menyambungkan ke kluster Kubernetes dari komputer lokal, Anda menggunakan kubectl, klien baris perintah Kubernetes. Anda dapat menginstalnya secara lokal menggunakan az aks install-cli perintah . Jika Anda menggunakan Azure Cloud Shell, kubectl sudah terpasang.
Konfigurasikan kubectl untuk terhubung ke kluster Kubernetes menggunakan perintah az aks get-credentials.
az aks get-credentials --resource-group <resource-group-name> --name <cluster-name>
Menyebarkan aplikasi
Objek Ingress Kubernetes menentukan aturan perutean untuk pengontrol Ingress. Gunakan kelas Ingress terkelola add-on perutean aplikasi dan anotasi yang didukung untuk mengonfigurasi bagaimana pengontrolnya menangani lalu lintas.
Buat namespace aplikasi yang disebut
aks-storeuntuk menjalankan contoh pod menggunakan perintahkubectl create namespace.kubectl create namespace aks-storeSebarkan aplikasi penyimpanan AKS menggunakan file manifes YAML berikut:
kubectl apply -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/sample-manifests/docs/app-routing/aks-store-deployments-and-services.yaml -n aks-store
Manifes ini membuat rabbitmq, order-service, product-service, dan store-front Penyebaran dan Layanan terkait.
store-front Layanan mengekspos port 80, yang dirutekan Ingress di bagian berikutnya.
Membuat objek Ingress
Saat Anda mengaktifkan add-on perutean aplikasi, ia membuat kelas Ingress bernama webapprouting.kubernetes.azure.com. Tentukan kelas ini dalam objek Ingress untuk menggunakan pengontrol NGINX Ingress terkelola add-on.
Salin manifes YAML berikut ke dalam file baru bernama ingress.yaml dan simpan file ke komputer lokal Anda.
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: store-front namespace: aks-store spec: ingressClassName: webapprouting.kubernetes.azure.com rules: - http: paths: - backend: service: name: store-front port: number: 80 path: / pathType: PrefixBuat sumber daya ingress menggunakan perintah
kubectl apply.kubectl apply -f ingress.yaml -n aks-storeContoh output berikut menunjukkan sumber daya yang dibuat:
ingress.networking.k8s.io/store-front created
Memverifikasi sumber daya Ingress terkelola
Anda dapat memverifikasi bahwa Ingress terkelola dibuat dengan menggunakan perintah kubectl get ingress.
kubectl get ingress -n aks-store
Contoh output berikut menunjukkan Ingress terkelola yang dibuat:
NAME CLASS HOSTS ADDRESS PORTS AGE
store-front webapprouting.kubernetes.azure.com * 51.8.10.109 80 110s
Anda dapat memverifikasi bahwa penyimpanan AKS berfungsi dengan mengarahkan browser Anda ke alamat IP publik pengontrol Ingress. Perintah berikut mengambil alamat IP eksternal yang ditetapkan oleh load balancer ke Layanan pengontrol ingress NGINX terkelola nginx di app-routing-system namespace:
kubectl get service -n app-routing-system nginx -o jsonpath="{.status.loadBalancer.ingress[0].ip}"
Menghapus add-on perutean aplikasi
Untuk menghapus namespace terkait, gunakan kubectl delete namespace perintah .
kubectl delete namespace aks-store
Untuk menghapus add-on perutean aplikasi dari kluster Anda, gunakan perintah az aks approuting disable.
az aks approuting disable --name <cluster-name> --resource-group <resource-group-name>
Catatan
Untuk menghindari potensi gangguan lalu lintas ke dalam kluster saat Anda menonaktifkan add-on perutean aplikasi, beberapa sumber daya Kubernetes, termasuk configMaps, rahasia, dan penyebaran yang menjalankan pengontrol, tetap berada di kluster. Sumber daya ini berada di namespace app-routing-system. Anda dapat menghapus sumber daya ini jika tidak lagi diperlukan dengan menghapus namespace dengan kubectl delete ns app-routing-system.
Konten terkait
- Aktifkan implementasi API Gateway perutean aplikasi untuk mengendalikan dan mengelola lalu lintas masuk dengan API Gateway Kubernetes.
- Mengonfigurasi konfigurasi ingress kustom menunjukkan cara membuat konfigurasi Ingress tingkat lanjut. Konfigurasikan domain kustom menggunakan Azure DNS untuk mengelola zona DNS dan menyiapkan ingress aman.
- Untuk berintegrasi dengan load balancer internal Azure dan mengonfigurasi zona Azure DNS privat untuk mengaktifkan resolusi DNS untuk titik akhir privat guna mengatasi domain tertentu, lihat Mengonfigurasi pengontrol ingress NGINX internal untuk zona DNS privat Azure.
- Pelajari tentang memantau metrik pengontrol ingress-nginx yang disertakan dengan add-on perutean aplikasi dengan Prometheus di Grafana (pratinjau) sebagai bagian dari menganalisis performa dan penggunaan aplikasi Anda.