Migrar desde el enrutamiento de aplicación HTTP al complemento de enrutamiento de aplicación
En este artículo, aprenderá a migrar el clúster de Azure Kubernetes Service (AKS) desde la característica de enrutamiento de aplicaciones HTTP hasta el complemento de enrutamiento de aplicaciones. El complemento de enrutamiento de aplicaciones HTTP se ha retirado y no funciona en ninguna versión de clúster de Kubernetes actualmente compatible. Se recomienda migrar lo antes posible para mantener una configuración compatible.
Requisitos previos
- CLI de Azure versión 2.54.0 o posterior instalada y configurada. Ejecute
az --version
para encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure. aks-preview
Extensión de la CLI de Azure de la versión 0.5.171 o posterior instalada
Nota:
Estos pasos detallan la migración desde una configuración no admitida. Por lo tanto, AKS no puede ofrecer compatibilidad con problemas que surgen durante el proceso de migración.
Actualización de los complementos, las entradas y el uso de IP del clúster
Habilite el complemento de enrutamiento de la aplicación.
az aks approuting enable --resource-group <ResourceGroupName> --name <ClusterName>
Actualice las entradas, estableciendo
ingressClassName
enwebapprouting.kubernetes.azure.com
. Agregue la anotaciónkubernetes.io/ingress.class
. También deberá actualizar el host a uno que posea, ya que el complemento de enrutamiento de aplicaciones no tiene una zona DNS de clúster administrada. Si no tiene una zona DNS, siga las instrucciones para crear y configurar una.Inicialmente, la configuración de entrada tendrá un aspecto similar al siguiente:
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
Después de que lo ha actualizado correctamente, la misma configuración tendrá el siguiente aspecto:
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
Actualice la dirección IP del controlador de entrada (por ejemplo, en los registros DNS) con la nueva dirección IP. Puede encontrar la nueva dirección IP mediante
kubectl get
. Por ejemplo:kubectl get svc nginx --namespace app-routing-system -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
Deshabilitación del complemento de enrutamiento de aplicación HTTP.
az aks disable-addons --resource-group <ResourceGroupName> --name <ClusterName> --addons http_application_routing
Eliminación de todos los recursos de enrutamiento de aplicaciones HTTP
Cuando se deshabilita el complemento de enrutamiento de aplicaciones HTTP, algunos recursos de Kubernetes relacionados pueden permanecer en el clúster. Estos recursos incluyen a los archivos configMaps y a los secretos que se crean en el espacio de nombres kube-system. Para mantener un clúster limpio, puede quitar estos recursos. Busque los recursos addon-http-application-routing con los siguientes comandos
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
La salida del ejemplo siguiente muestra los archivos configmaps que deben eliminarse:
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
Elimine los recursos restantes mediante el comando
kubectl delete
. Asegúrese de especificar el tipo de recurso, el nombre del recurso y el espacio de nombres. En el ejemplo siguiente se elimina uno de los archivos configmaps anteriores:kubectl delete configmaps addon-http-application-routing-nginx-configuration --namespace kube-system
Repita el paso anterior
kubectl delete
para todos los recursos addon-http-application-routing que aún se encuentran en el clúster.
Pasos siguientes
Después de migrar al complemento de enrutamiento de aplicaciones, aprenda a supervisar las métricas del controlador de entrada con Prometheus y Grafana.
Azure Kubernetes Service