Actualización del modo IPAM de Azure CNI y la tecnología del plano de datos para clústeres de Azure Kubernetes Service (AKS)

Los clústeres de Azure Kubernetes Service (AKS) existentes se pueden actualizar a los modos de administración de direcciones IP (IPAM) más recientes y las tecnologías del plano de datos para acceder a las características y mejoras de compatibilidad más recientes. En este artículo se tratan dos actualizaciones independientes:

  • Actualización del modo IPAM a Azure CNI Overlay. El modo IPAM controla cómo se asignan y enrutan las direcciones IP de los pods (por ejemplo, desde la subred del nodo, desde una subred dedicada para pods o desde una red de superposición).
  • Actualización del plano de datos para usar Azure CNI Powered by Cilium. El plano de datos es el componente en clúster que reenvía paquetes y aplica la directiva de red en cada nodo.

Estas actualizaciones son operaciones independientes y no tienen que realizarse juntas. En concreto, el plano de datos de Cilium es compatible con cualquier modo IPAM de Azure CNI, por lo que no es necesario migrar primero a Azure CNI Overlay para usar Cilium.

Note

Actualizar el plano de datos para usar Azure CNI Powered by Cilium no cambia el modo IPAM del clúster. No es una migración entre los modos de Azure CNI. Solo es un intercambio del plano de datos subyacente. Por ejemplo, un clúster que usa Azure CNI (Node Subnet) sigue usando Node Subnet después de la actualización; lo único que cambia es que Cilium ahora pasa a encargarse del plano de datos. Lo mismo se aplica a Azure CNI con asignación dinámica de IP y a los clústeres de Azure CNI Overlay.

Rutas de migración admitidas

Migración del modo IPAM

AKS admite una única ruta de migración de IPAM solo en sentido de avance. El modo IPAM solo se puede migrar a Azure CNI Overlay, y solo desde los siguientes modos:

  • Migrar un clúster de Azure CNI (subred de nodo) a superposición de Azure CNI.
  • Migrar un clúster de Kubenet a Azure CNI Overlay.

La actualización de un clúster a la superposición de Azure CNI es una operación irreversible unidireccional. Una vez actualizado el clúster, no se puede migrar de nuevo a un modo de red basado en subred de nodo.

Migración del plano de datos a Azure CNI con tecnología de Cilium

La migración del plano de datos de Cilium es compatible con cualquier modo IPAM de Azure CNI, incluido:

  • Migrar un clúster de Azure CNI (subred de nodo) a Azure CNI con tecnología de Cilium.
  • Migrar un clúster de Azure CNI con asignación dinámica de IP (subred de pods) a Azure CNI con tecnología de Cilium.
  • Migrar un clúster de Azure CNI Overlay a Azure CNI Powered by Cilium.

Los clústeres de Kubenet no se pueden migrar directamente al plano de datos de Cilium. Primero deben migrar a Azure CNI Overlay y, a continuación, actualizar el plano de datos a Cilium en una operación independiente.

Actualice el modo IPAM a Azure CNI Overlay

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

Puede actualizar un clúster de AKS existente a la superposición de Azure CNI si el clúster:

  • Está en la versión 1.27 o posterior de Kubernetes.
  • No usa la característica de asignación de IP dinámica .
  • No tiene habilitadas directivas de red. Si necesita desinstalar el motor de directivas de red antes de actualizar el clúster, siga los pasos descritos en Desinstalación de Azure Network Policy Manager o Calico.
  • No usa ningún grupo de nodos de Windows con Docker como entorno de ejecución del contenedor.

Antes de la compilación del sistema operativo Windows 20348.1668, había una limitación en torno a los pods de superposición en Windows que enrutaban incorrectamente los paquetes de los pods de la red del host a través de la Traducción de direcciones de red de origen (SNAT). Esta limitación tuvo un efecto perjudicial para los clústeres que se actualizaban a la superposición de Azure CNI. Para evitar este problema, use la compilación del sistema operativo Windows 20348.1668 o posterior.

Advertencia

  • Si utiliza una configuración personalizada azure-ip-masq-agent para incluir intervalos de IP adicionales que no deberían enviar paquetes SNAT desde los pods, al actualizar a Azure CNI Overlay se puede interrumpir la conectividad con estos intervalos. Las direcciones IP de los pods en el espacio de superposición son inaccesibles para cualquier elemento fuera de los nodos del clúster.

  • Es posible que en los clústeres antiguos quede un ConfigMap de una versión anterior de azure-ip-masq-agent. Si este configMap (denominado azure-ip-masq-agent-config) existe y no está implementado intencionadamente, debe eliminarlo antes de actualizarlo.

  • Si no usa una configuración ip-masq-agent personalizada, solo debe existir el ConfigMap de azure-ip-masq-agent-config-reconciled con respecto al ConfigMap de ip-masq-agent de Azure. Se actualiza automáticamente durante el proceso de actualización.

El proceso de actualización provoca la reimagen simultánea de los "pools" de nodos. No se admite la actualización de cada grupo de nodos por separado a Azure CNI Overlay. Las interrupciones en las redes del clúster son similares a una actualización de la imagen del nodo o a una actualización de la versión de Kubernetes, donde se vuelve a crear la imagen de cada nodo en un grupo de nodos.

Actualice un clúster de Azure Container Networking Interface (CNI) existente para usar Azure CNI Overlay mediante el comando az aks update.

az aks update \
  --name $CLUSTER_NAME \
  --resource-group $RESOURCE_GROUP \
  --network-plugin azure \
  --network-plugin-mode overlay \
  --pod-cidr 192.168.0.0/16

El parámetro --pod-cidr es necesario cuando se actualiza desde complementos de CNI heredados porque los pods necesitan obtener direcciones IP de un nuevo espacio de superposición. El nuevo espacio de superposición no se superpone con el complemento de subred de nodo de Azure CNI existente.

El Enrutamiento de interdominios sin clases (CIDR) para el pod tampoco puede superponerse 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, el --pod-cidr parámetro no se puede superponer con 10.0.0.0/8 o el CIDR del servicio existente en el clúster.

Actualización del plano de datos a Azure CNI Powered by Cilium

Azure CNI Powered by Cilium es la configuración de red a largo plazo recomendada y compatible para AKS. Combina el plano de control de Azure CNI con el plano de datos de Cilium para ofrecer redes escalables y funcionalidades de seguridad avanzadas.

Consideraciones de actualización

  • Puede actualizar el plano de datos a Azure CNI con tecnología de Cilium desde cualquier modo de IPAM de Azure CNI (subred de nodo, asignación dinámica de IP o red superpuesta). No es necesario migrar primero a Azure CNI Overlay.
  • El modo IPAM y el plano de datos no se pueden actualizar en una sola operación. Si tiene previsto migrar tanto el modo IPAM a Azure CNI Overlay y el plano de datos a Azure CNI Powered by Cilium, realícelas como dos operaciones independientes, en el orden que prefiera.
  • Los clústeres de Kubenet no pueden actualizar el plano de datos directamente a Cilium. Migre primero el modo IPAM a Azure CNI Overlay y, a continuación, actualice el plano de datos.
  • Al habilitar Cilium en un clúster que usa otro motor de directivas de red (Azure Network Policy Manager o Calico), el motor existente se desinstala y reemplaza por Cilium. Este cambio puede afectar al comportamiento de la directiva de red. Para obtener más información, consulte Migrar de Network Policy Manager (NPM) a la directiva de red de Cilium.
  • No se admite la actualización del plano de datos a Azure CNI Powered by Cilium en clústeres con grupos de nodos de Windows.
  • Los clústeres con aprovisionamiento automático de nodos (NAP) habilitados no se pueden actualizar a Azure CNI Powered by Cilium. Como solución alternativa, deshabilite NAP antes de la actualización y vuelva a habilitarlo una vez completada la actualización.

Advertencia

El proceso de actualización provoca la reimagen simultánea de los "pools" de nodos. No se admite la actualización de cada grupo de nodos por separado. Las interrupciones en la conectividad del clúster son similares a una actualización de imagen de nodo o a una actualización de la versión de Kubernetes donde se vuelve a crear una imagen de nodo en cada nodo de un conjunto de nodos. Cilium comienza a aplicar políticas de red solo después de que se reimaginen todos los nodos.

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

Actualice un clúster existente a Azure CNI Powered by Cilium mediante el az aks update comando .

az aks update \
  --name $CLUSTER_NAME \
  --resource-group $RESOURCE_GROUP \
  --network-dataplane cilium