Delen via


Migreren van HTTP-toepassingsroutering naar de invoegtoepassing voor toepassingsroutering

In dit artikel leert u hoe u uw AKS-cluster (Azure Kubernetes Service) migreert van de functie http-toepassingsroutering naar de invoegtoepassing voor toepassingsroutering. De invoegtoepassing http-toepassingsroutering is buiten gebruik gesteld en werkt niet op een Kubernetes-clusterversie die momenteel wordt ondersteund. U wordt aangeraden zo snel mogelijk te migreren om een ondersteunde configuratie te onderhouden.

Vereisten

  • Azure CLI versie 2.54.0 of hoger geïnstalleerd en geconfigureerd. Voer az --version uit om de versie te bekijken. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.
  • aks-preview Azure CLI-extensie van versie 0.5.171 of hoger geïnstalleerd

Notitie

In deze stappen wordt beschreven hoe u migreert vanuit een niet-ondersteunde configuratie. AKS kan daarom geen ondersteuning bieden voor problemen die zich voordoen tijdens het migratieproces.

De invoegtoepassingen, Ingresses en IP-gebruik van uw cluster bijwerken

  1. Schakel de invoegtoepassing voor toepassingsroutering in.

    az aks approuting enable --resource-group <ResourceGroupName> --name <ClusterName>
    
  2. Werk uw Ingresses bij, instelling ingressClassName in webapprouting.kubernetes.azure.com. Verwijder de kubernetes.io/ingress.class aantekening. U moet de host ook bijwerken naar een host die u bezit, omdat de invoegtoepassing voor toepassingsroutering geen beheerde cluster-DNS-zone heeft. Als u geen DNS-zone hebt, volgt u de instructies voor het maken en configureren van een zone.

    In eerste instantie ziet uw toegangsbeheerobjectconfiguratie er ongeveer als volgt uit:

    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
    

    Nadat u de configuratie correct hebt bijgewerkt, ziet dezelfde configuratie er als volgt uit:

    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. Werk het IP-adres van de ingangscontroller (zoals in DNS-records) bij met het nieuwe IP-adres. U kunt het nieuwe IP-adres vinden met behulp van kubectl get. Voorbeeld:

    kubectl get svc nginx --namespace app-routing-system -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
    
  4. Schakel de invoegtoepassing http-toepassingsroutering uit.

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

Alle HTTP-toepassingsrouteringsbronnen verwijderen en verwijderen

  1. Nadat de invoegtoepassing http-toepassingsroutering is uitgeschakeld, blijven sommige gerelateerde Kubernetes-resources mogelijk in uw cluster aanwezig. Deze resources omvatten configuratiekaarten en geheimen die zijn gemaakt in de kube-system-naamruimte . Als u een schoon cluster wilt onderhouden, kunt u deze resources verwijderen. Zoek naar addon-http-application-routing resources met behulp van de volgende kubectl get opdrachten:

    kubectl get deployments --namespace kube-system
    kubectl get services --namespace kube-system
    kubectl get configmaps --namespace kube-system
    kubectl get secrets --namespace kube-system
    

    In de volgende voorbeelduitvoer ziet u configuratiekaarten die moeten worden verwijderd:

    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. Verwijder de resterende resources met behulp van de kubectl delete opdracht. Zorg ervoor dat u het resourcetype, de resourcenaam en de naamruimte opgeeft. In het volgende voorbeeld wordt een van de vorige configuratiekaarten verwijderd:

    kubectl delete configmaps addon-http-application-routing-nginx-configuration --namespace kube-system
    
  3. Herhaal de vorige kubectl delete stap voor alle invoegtoepassings-http-application-routing-resources die in uw cluster overblijven.

Volgende stappen

Na de migratie naar de invoegtoepassing voor toepassingsroutering leert u hoe u metrische gegevens van de ingangscontroller kunt bewaken met Prometheus en Grafana.