Migrer du routage d’application HTTP vers le module complémentaire de routage d’application
Dans cet article, vous découvrez comment migrer votre cluster Azure Kubernetes Service (AKS) de la fonctionnalité de routage d’application HTTP vers le module complémentaire de routage d’application. Le module complémentaire de routage d’application HTTP a été mis hors service et ne fonctionne sur aucune version de cluster Kubernetes actuellement prise en charge. Nous vous recommandons de migrer dès que possible pour maintenir une configuration prise en charge.
Prérequis
- Azure CLI version 2.54.0 ou ultérieure installée et configurée. Exécutez
az --version
pour trouver la version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI. aks-preview
Extension Azure CLI de la version 0.5.171 ou ultérieure installée
Remarque
Ces étapes détaillent la migration à partir d’une configuration non prise en charge. Par conséquent, AKS ne peut pas offrir de support pour les problèmes qui se produisent pendant le processus de migration.
Mettre à jour les modules complémentaires, les entrées et l’utilisation IP de votre cluster
Activez le module complémentaire de routage d’application.
az aks approuting enable --resource-group <ResourceGroupName> --name <ClusterName>
Mettez à jour vos entrées, en définissant
ingressClassName
surwebapprouting.kubernetes.azure.com
. Supprimez l’annotationkubernetes.io/ingress.class
. Vous devez également mettre à jour l’hôte vers celui dont vous êtes propriétaire, car le module complémentaire de routage d’application n’a pas de zone DNS de cluster managé. Si vous n’avez pas de zone DNS, suivez les instructions pour en créer et configurer une.Initialement, votre configuration d’entrée ressemblera à ceci :
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
Une fois la mise à jour effectuée, la même configuration ressemble à ce qui suit :
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
Mettez à jour l’IP du contrôleur d’entrée (par exemple, dans les enregistrements DNS) avec la nouvelle adresse IP. Vous pouvez trouver la nouvelle adresse IP à l’aide de
kubectl get
. Par exemple :kubectl get svc nginx --namespace app-routing-system -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
Désactivez le module complémentaire de routage d’application HTTP.
az aks disable-addons --resource-group <ResourceGroupName> --name <ClusterName> --addons http_application_routing
Supprimer toutes les ressources de routage d’application HTTP
Une fois le module complémentaire de routage d’application HTTP désactivé, certaines ressources Kubernetes associées peuvent rester dans votre cluster. Ces ressources incluent configMaps et secrets qui sont créés dans l’espace de noms kube-system. Pour maintenir un cluster propre, vous pouvez supprimer ces ressources. Recherchez les ressources addon-http-application-routing à l’aide des commandes
kubectl get
suivantes :kubectl get deployments --namespace kube-system kubectl get services --namespace kube-system kubectl get configmaps --namespace kube-system kubectl get secrets --namespace kube-system
L’exemple de sortie suivant montre les configmaps à supprimer :
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
Supprimez les ressources restantes à l’aide de la commande
kubectl delete
. Veillez à spécifier le type de ressource, le nom de la ressource et l’espace de noms. L’exemple suivant supprime l’une des ressources configMaps précédentes :kubectl delete configmaps addon-http-application-routing-nginx-configuration --namespace kube-system
Répétez l’étape
kubectl delete
précédente pour toutes les ressources addon-http-application-routing restant dans votre cluster.
Étapes suivantes
Après avoir migré vers le module complémentaire de routage d’application, découvrez comment monitorer les métriques du contrôleur d’entrée avec Prometheus et Grafana.
Azure Kubernetes Service