Migrace ze směrování aplikace HTTP na doplněk směrování aplikace

V tomto článku se dozvíte, jak migrovat cluster Azure Kubernetes Service (AKS) z funkce směrování aplikací HTTP do doplňku pro směrování aplikací. Doplněk pro směrování aplikací HTTP se vyřadil z provozu a v současné době nefunguje na žádné verzi Kubernetes clusteru. Doporučujeme migrovat co nejdříve, abyste zachovali podporovanou konfiguraci.

Požadavky

  • Azure CLI verze 2.54.0 nebo novější je nainstalovaná a nakonfigurovaná. Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.
  • aks-preview Nainstalované rozšíření Azure CLI verze 0.5.171 nebo novější

Poznámka:

Tento postup podrobně popisuje migraci z nepodporované konfigurace. Proto AKS nemůže nabídnout podporu problémů, ke kterým dochází během procesu migrace.

Aktualizace doplňků, příchozích přenosů dat a využití IP adres clusteru

  1. Povolte doplněk pro směrování aplikací.

    az aks approuting enable --resource-group <ResourceGroupName> --name <ClusterName>
    
  2. Aktualizujte příchozí přenos dat a nastavte ingressClassName na webapprouting.kubernetes.azure.com. Odeberte poznámku kubernetes.io/ingress.class . Musíte také aktualizovat hostitele na ten, který vlastníte, protože doplněk pro směrování aplikací nemá zónu DNS spravovaného clusteru. Pokud nemáte zónu DNS, postupujte podle pokynů a vytvořte ji a nakonfigurujte.

    Zpočátku bude vaše konfigurace příchozího přenosu dat vypadat přibližně takto:

    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
    

    Po správné aktualizaci vypadá stejná konfigurace jako následující:

    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. Aktualizujte IP adresu kontroleru příchozího přenosu dat (například v záznamech DNS) novou IP adresou. Novou IP adresu najdete pomocí .kubectl get Příklad:

    kubectl get svc nginx --namespace app-routing-system -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
    
  4. Zakažte doplněk pro směrování aplikací HTTP.

    az aks disable-addons --resource-group <ResourceGroupName> --name <ClusterName> --addons http_application_routing
    

Odebrání a odstranění všech prostředků směrování aplikací HTTP

  1. Po zakázání doplňku směrování aplikace HTTP můžou některé související prostředky Kubernetes zůstat ve vašem clusteru. Mezi tyto prostředky patří mapy konfigurace a tajné kódy vytvořené v oboru názvů kube-system. Pokud chcete udržovat čistý cluster, můžete tyto prostředky odebrat. Pomocí následujících příkazů vyhledejte prostředky addon-http-application-routing: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
    

    Následující příklad výstupu ukazuje mapy konfigurace, které by se měly odstranit:

    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. Pomocí příkazu odstraňte zbývající prostředky kubectl delete . Nezapomeňte zadat typ prostředku, název prostředku a obor názvů. Následující příklad odstraní jednu z předchozích map konfigurace:

    kubectl delete configmaps addon-http-application-routing-nginx-configuration --namespace kube-system
    
  3. Opakujte předchozí kubectl delete krok pro všechny prostředky směrování addon-http-application-routing ve vašem clusteru.

Další kroky

Po migraci na doplněk směrování aplikací se dozvíte, jak monitorovat metriky kontroleru příchozího přenosu dat pomocí nástroje Prometheus a Grafana.