Compartir a través de


Actualización de los modos IPAM y la tecnología de plano de datos de Azure Kubernetes Service (AKS)

Dado que siempre hay nuevos modos de administración de asignación de IP (IPAM) y tecnología de plano de datos compatibles con Azure Kubernetes Service (AKS), es inevitable pasar por situaciones en las que los clústeres AKS existentes necesiten actualizarse a modos IPAM y tecnología de plano de datos más recientes para acceder a las últimas características y compatibilidad. En este artículo se proporcionan instrucciones sobre cómo actualizar un clúster de AKS existente para usar la superposición de Azure CNI para el modo IPAM y Azure CNI con tecnología de Cilium como su plano de datos.

Actualización de un clúster existente a la superposición de Azure CNI

Nota:

Es posible actualizar un clúster de Azure CNI existente para la superposición si el clúster cumple los siguientes criterios:

  • El clúster está en la versión 1.22 y posteriores de Kubernetes.
  • No utiliza la característica de asignación de IP de pod dinámica.
  • No tiene habilitadas directivas de red. El motor de directivas de red se puede desinstalar antes de la actualización; consulte Desinstalar Azure Network Policy Manager o Calico.
  • No usa ningún grupo de nodos de Windows con Docker como runtime del contenedor.

Nota:

La actualización de un clúster existente a la superposición de CNI es un proceso no reversible.

Advertencia

Antes de la compilación 20348.1668 del SO Windows, existía una limitación en torno a los pods de superposición de Windows que incorrectamente llevaban a cabo el SNAT de paquetes de pods de red de host. Esto tenía un efecto más perjudicial para los clústeres que se actualicen a la superposición. Para evitar este problema, use la compilación del sistema operativo Windows mayor o igual que 20348.1668.

Advertencia

Si usa una configuración personalizada de azure-ip-masq-agent para incluir intervalos IP adicionales que no deben usar paquetes de SNAT de los pods, la actualización a la superposición de Azure CNI puede interrumpir la conectividad con estos intervalos. Las direcciones IP de pod del espacio de superposición no serán accesibles por nada fuera de los nodos del clúster. Además, en el caso de los clústeres suficientemente antiguos, puede que se haya dejado un elemento ConfigMap de una versión anterior de azure-ip-masq-agent. Si este objeto ConfigMap, denominado azure-ip-masq-agent-config, existe y no está intencionadomente en contexto, se debe eliminar antes de ejecutar el comando update. Si no usa una configuración personalizada de ip-masq-agent, solo debe existir configMap azure-ip-masq-agent-config-reconciled con respecto a Azure ip-masq-agent ConfigMaps y se actualizará automáticamente durante el proceso de actualización.

El proceso de actualización desencadena que se vuelva a crear la imagen inicial de cada grupo de nodos simultáneamente. No se admite la actualización de cada grupo de nodos por separado a la superposición. Las interrupciones en las redes de clúster son similares a una actualización de imagen de nodo o a una actualización de la versión de Kubernetes en la que se volverá a crear la imagen de cada nodo de un grupo de nodos.

Actualización del clúster de Azure CNI

Actualice un clúster de Azure CNI existente para usar superposición mediante el comando [az aks update][az-aks-update].

clusterName="myOverlayCluster"
resourceGroup="myResourceGroup"
location="westcentralus"

az aks update --name $clusterName \
--resource-group $resourceGroup \
--network-plugin-mode overlay \
--pod-cidr 192.168.0.0/16

El parámetro --pod-cidr es necesario cuando se actualiza desde CNI heredado porque los pods necesitan obtener IP de un nuevo espacio de superposición que no se superponga con la subred de nodos existente. El CIDR de pods tampoco se puede superponer con ninguna dirección de red virtual de los grupos de nodos. Por ejemplo, si la dirección de la red virtual es 10.0.0.0/8 y los nodos están en la subred 10.240.0.0/16, no se puede superponer el --pod-cidr con 10.0.0.0/8 o el CIDR del servicio existente en el clúster.

Actualización del clúster de Kubenet

Actualice un clúster de Kubenet existente para usar la superposición de Azure CNI mediante el comando [az aks update][az-aks-update].

clusterName="myOverlayCluster"
resourceGroup="myResourceGroup"
location="westcentralus"

az aks update --name $clusterName \
--resource-group $resourceGroup \
--network-plugin azure \
--network-plugin-mode overlay 

Dado que el clúster ya usa un CIDR privado para pods que no se superponen con el espacio IP de la red virtual, no es necesario especificar el parámetro --pod-cidr y el CIDR de pod seguirá siendo el mismo si no se usa el parámetro.

Nota:

Al actualizar de Kubenet a la superposición de CNI, la tabla de rutas ya no será necesaria para el enrutamiento de pods. Si el clúster usa una tabla de rutas proporcionada por el cliente, las rutas que se usaron para dirigir el tráfico del pod al nodo correcto se eliminarán automáticamente durante la operación de migración. Si el clúster usa una tabla de rutas administrada (AKS creó la tabla de rutas y reside en el grupo de recursos del nodo), esa tabla de rutas se eliminará como parte de la migración.

Actualice un clúster existente a Azure CNI con tecnología de Cilium

Nota:

Puede actualizar un clúster existente a Azure CNI con tecnología de Cilium si el clúster cumple con los siguientes criterios:

Nota:

Al habilitar Cilium en un clúster con un motor de directivas de red diferente (Azure NPM o Calico), el motor de directivas de red se desinstalará y reemplazará por Cilium. Consulte Desinstalación de Azure Network Policy Manager o Calico para más información.

Advertencia

El proceso de actualización desencadena que se vuelva a crear la imagen inicial de cada grupo de nodos simultáneamente. No se admite la actualización de cada grupo de nodos por separado. Las interrupciones en las redes de clúster son similares a una actualización de imagen de nodo o a una actualización de la versión de Kubernetes en la que se volverá a crear la imagen de cada nodo de un grupo de nodos. Cilium comenzará a aplicar directivas de red solo después de que se hayan vuelto a crear imágenes de todos los nodos.

Para realizar la actualización, necesitará la versión 2.52.0 de la CLI de Azure o posterior. Ejecute az --version para ver la versión instalada actualmente. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.

Use el siguiente comando para actualizar un clúster existente a Azure CNI con tecnología de Cilium. Reemplace los valores de <clusterName> y <resourceGroupName>:

az aks update --name <clusterName> --resource-group <resourceGroupName> \
  --network-dataplane cilium