Bagikan melalui


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

  1. Aktifkan add-on perutean aplikasi.

    az aks approuting enable --resource-group <ResourceGroupName> --name <ClusterName>
    
  2. Perbarui IngressEs Anda, atur ingressClassName ke webapprouting.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:
      - http:
        host: aks-helloworld.<CLUSTER_SPECIFIC_DNS_ZONE> # Replace with your own hostname
          paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: aks-helloworld
                port:
                  number: 80
    
  3. 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}'
    
  4. 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

  1. 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
    
  2. 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
    
  3. 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.