Migrasi dari perutean aplikasi HTTP ke add-on perutean aplikasi
Dalam artikel ini, Anda mempelajari cara memigrasikan kluster Azure Kubernetes Service (AKS) dari fitur perutean aplikasi HTTP ke add-on perutean aplikasi. Add-on perutean aplikasi HTTP telah dihentikan dan tidak berfungsi pada versi Kubernetes kluster apa pun yang saat ini didukung. Sebaiknya migrasikan sesegera mungkin untuk mempertahankan konfigurasi yang didukung.
Prasyarat
- Azure CLI versi 2.54.0 atau yang lebih baru diinstal dan dikonfigurasi. Jalankan
az --version
untuk menemukan versinya. Jika Anda perlu memasang atau meningkatkan, lihat Memasang Azure CLI. aks-preview
Ekstensi Azure CLI versi 0.5.171 atau yang lebih baru terinstal
Catatan
Langkah-langkah ini merinci migrasi dari konfigurasi yang tidak didukung. Dengan demikian, AKS tidak dapat menawarkan dukungan untuk masalah yang muncul selama proses migrasi.
Memperbarui add-on, Ingress, dan penggunaan IP kluster Anda
Aktifkan add-on perutean aplikasi.
az aks approuting enable --resource-group <ResourceGroupName> --name <ClusterName>
Perbarui IngressEs Anda, atur
ingressClassName
kewebapprouting.kubernetes.azure.com
.kubernetes.io/ingress.class
Hapus anotasi. Anda juga perlu memperbarui host ke host yang Anda miliki, karena add-on perutean aplikasi tidak memiliki zona DNS kluster terkelola. Jika Anda tidak memiliki zona DNS, ikuti instruksi untuk membuat dan mengonfigurasinya .Awalnya, konfigurasi ingress Anda akan terlihat seperti ini:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: aks-helloworld annotations: kubernetes.io/ingress.class: addon-http-application-routing # Remove the ingress class annotation spec: rules: - host: aks-helloworld.<CLUSTER_SPECIFIC_DNS_ZONE> http: paths: - path: / pathType: Prefix backend: service: name: aks-helloworld port: number: 80
Setelah Anda memperbarui dengan benar, konfigurasi yang sama terlihat seperti berikut ini:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: aks-helloworld spec: ingressClassName: webapprouting.kubernetes.azure.com # Set the ingress class property to refer to the application routing add-on ingress class rules: - host: aks-helloworld.<CLUSTER_SPECIFIC_DNS_ZONE> # Replace with your own hostname http: paths: - path: / pathType: Prefix backend: service: name: aks-helloworld port: number: 80
Perbarui IP pengontrol Ingress (seperti di catatan DNS) dengan alamat IP baru. Anda dapat menemukan IP baru dengan menggunakan
kubectl get
. Contohnya:kubectl get svc nginx --namespace app-routing-system -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
Nonaktifkan add-on perutean aplikasi HTTP.
az aks disable-addons --resource-group <ResourceGroupName> --name <ClusterName> --addons http_application_routing
Menghapus dan menghapus semua sumber daya perutean aplikasi HTTP
Setelah add-on perutean aplikasi HTTP dinonaktifkan, beberapa sumber daya Kubernetes terkait mungkin tetap ada di kluster Anda. Sumber daya ini mencakup peta konfigurasi dan rahasia yang dibuat di namespace layanan kube-system . Untuk mempertahankan kluster yang bersih, Anda dapat menghapus sumber daya ini. Cari sumber daya addon-http-application-routing menggunakan perintah berikut
kubectl get
:kubectl get deployments --namespace kube-system kubectl get services --namespace kube-system kubectl get configmaps --namespace kube-system kubectl get secrets --namespace kube-system
Contoh output berikut menunjukkan peta konfigurasi yang harus dihapus:
NAMESPACE NAME DATA AGE kube-system addon-http-application-routing-nginx-configuration 0 9m7s kube-system addon-http-application-routing-tcp-services 0 9m7s kube-system addon-http-application-routing-udp-services 0 9m7s
Hapus sumber daya yang tersisa menggunakan
kubectl delete
perintah . Pastikan untuk menentukan jenis sumber daya, nama sumber daya, dan namespace. Contoh berikut menghapus salah satu configmaps sebelumnya:kubectl delete configmaps addon-http-application-routing-nginx-configuration --namespace kube-system
Ulangi langkah sebelumnya
kubectl delete
untuk semua sumber daya addon-http-application-routing yang tersisa di kluster Anda.
Langkah berikutnya
Setelah bermigrasi ke add-on perutean aplikasi, pelajari cara memantau metrik pengontrol Ingress dengan Prometheus dan Grafana.
Azure Kubernetes Service