Introducción a las redes de CNI de Azure Kubernetes Service (AKS)

Kubernetes utiliza complementos de la Interfaz de Red de Contenedor (CNI) para administrar redes en clústeres de Kubernetes. Los complementos de CNI controlan la asignación de direcciones IP a pods, el enrutamiento del tráfico de red entre pods, el enrutamiento del tráfico del servicio Kubernetes, etc.

Azure Kubernetes Service (AKS) proporciona varias configuraciones de red de CNI que puede usar en los clústeres, en función de los requisitos de red. Al planear las redes de pods, elija una opción de administración de direcciones IP (IPAM) y una tecnología de enrutamiento y transporte para el plano de datos de red.

Modelos de redes en AKS

Elegir una opción IPAM para el clúster de AKS depende en gran medida del modelo de red que mejor se adapte a sus necesidades. Cada modelo tiene sus propias ventajas y desventajas que debe tener en cuenta al planear el clúster de AKS.

AKS usa dos modelos de red principales:

  • Red de Superposición:

    • Conserva el espacio de direcciones IP para las redes virtuales (VNets) mediante rangos de Enrutamiento entre dominios sin clases (CIDR), lógicamente independientes, para pods.
    • Proporciona compatibilidad máxima con la escala de clústeres.
    • Proporciona una administración sencilla de direcciones IP.
  • Red plana:

    • Proporciona conectividad completa de VNet para pods. Los pods pueden ser alcanzados directamente a través de sus direcciones IP privadas desde redes conectadas.
    • Requiere un espacio de direcciones IP amplio y no fragmentado para las VNets.

Ambos modelos de red admiten varias opciones de IPAM. Las principales diferencias entre los modelos son cómo se asignan direcciones IP de pod y cómo el tráfico sale del clúster.

Para Azure CNI, la opción IPAM es independiente del plano de datos de red. Puede usar el plano de datos Azure CNI Powered by Cilium con Azure superposición de CNI, Azure subred de pod de CNI o Azure subred de nodo de CNI. Para obtener más información sobre ipAM y las opciones del plano de datos, consulte Planeamiento de redes de pods para AKS.

Superponer redes

Las redes superpuestas en AKS asignan direcciones IP de pod de un CIDR de pod independiente que es distinto de la subred del nodo de la red virtual. Esta configuración permite una escalabilidad más sencilla y a menudo mejor que el modelo de red plana.

En las redes superpuestas, los pods pueden comunicarse entre sí directamente. El tráfico que sale del clúster se traduce mediante la Traducción de direcciones de red de origen (SNAT) a la dirección IP del nodo. El tráfico IP entrante del pod se enruta a través de un servicio, como un balanceador de carga. La dirección IP del pod se "oculta" detrás de la dirección IP del nodo. Este enfoque reduce el número de direcciones IP necesarias para las redes virtuales de los clústeres.

Diagrama que muestra dos nodos, con tres pods cada uno, ejecutándose en una red superpuesta. El tráfico de pod a los puntos de conexión fuera del clúster se enruta a través de la traducción de direcciones de red.

Para las redes de superposición, AKS proporciona Azure superposición de CNI. Use esta opción de IPAM para la mayoría de los escenarios.

Redes planas

A diferencia de una red superpuesta, un modelo de red plana en AKS asigna direcciones IP a pods desde una subred de la misma Azure red virtual que los nodos de AKS. Para el tráfico de red privada, la dirección IP de origen que ve un destino depende de la opción IPAM. Azure subred de pod de CNI conserva la dirección IP del pod en redes virtuales conectadas. Con Azure subred de nodo de CNI, los destinos de la red virtual del clúster ven la dirección IP del pod, pero los destinos fuera de la red virtual del clúster ven la dirección IP del nodo. Cuando se habilita la salida de Internet, el método de salida configurado del clúster determina la dirección IP de origen pública que ven los destinos de Internet.

Diagrama que muestra dos nodos, con tres pods cada uno, que se ejecutan en un modelo de red plana.

AKS proporciona dos opciones de IPAM de CNI Azure para redes planas:

Elección de una opción de IPAM para AKS

Al elegir una opción IPAM, tenga en cuenta varios factores. Cada modelo de red tiene sus propias ventajas y desventajas. La mejor opción para el clúster depende de sus requisitos específicos.

Comparación de casos de uso

Opción IPAM Modelo de redes Resaltados de casos de uso
Superposición de Azure CNI Overlay • Lo mejor para conservar direcciones IP para redes virtuales
• Número máximo de nodos compatible con el servidor de API más 250 pods por nodo
• Configuración más sencilla
• No hay acceso directo a la IP externa del pod
Subred de pod de Azure CNI Flat • Acceso directo a pods externos
• Modos para un uso eficiente de IP para redes virtuales o compatibilidad con clústeres de gran escala (versión preliminar)
Kubenet (heredado) Overlay • Se retira el 31 de marzo de 2028; migrar a Azure Superposición de CNI antes de la fecha de retirada
• Priorización de la conservación de la P.I.
• Escala limitada
• Gestión manual de rutas
Subred de nodo de Azure CNI (heredado) Flat • Acceso directo a pods externos
• Configuración más sencilla
• Escala limitada
• Uso ineficaz de direcciones IP para redes virtuales

Comparación de características

Feature Superposición de Azure CNI Subred de pod de Azure CNI Subred de nodo de Azure CNI (heredado) Kubenet (heredado)
Implementación de un clúster en una red virtual existente o nueva Supported Supported Supported Compatible con rutas definidas por el usuario (UDR) manuales
Conectividad entre pod y máquina virtual (VM), con la máquina virtual en la misma red virtual o una red virtual emparejada Pod iniciado Ambas maneras Ambas maneras Pod iniciado
Acceso local a través de una red privada virtual (VPN) y Azure ExpressRoute Pod iniciado Ambas maneras Ambas maneras Pod iniciado
Acceso a los puntos de conexión de servicio Supported Supported Supported Supported
Exposición de los servicios a través del equilibrador de carga Supported Supported Supported Supported
Exposición de servicios mediante el controlador de entrada de Azure Application Gateway Supported Supported Supported Supported
Exposición de servicios a través de Application Gateway para contenedores Supported Supported Supported No está soportado
Grupos de nodos de Windows Supported Supported Supported No está soportado
Azure DNS predeterminado y zonas privadas Supported Supported Supported Supported
Uso compartido de subredes de red virtual en varios clústeres Supported Supported Supported No está soportado

Ámbito de compatibilidad entre los modelos de red

En función de la opción IPAM que use, puede implementar los recursos de red virtual para el clúster de una de las maneras siguientes:

  • La plataforma Azure puede crear y configurar automáticamente los recursos de red virtual al crear un clúster de AKS.
  • Puede crear y configurar los recursos de red virtual manualmente y conectarse a ellos al crear el clúster de AKS.

Aunque se admiten funcionalidades como puntos de conexión de servicio o UDR, las directivas de soporte técnico para AKS definen qué cambios puede realizar. Por ejemplo:

  • Si crea manualmente los recursos de red virtual para un clúster de AKS, tendrá soporte técnico para configurar sus propios puntos de conexión de servicio o UDR.
  • Si la plataforma de Azure crea automáticamente los recursos de red virtual para el clúster de AKS, no puede cambiar manualmente esos recursos administrados de AKS para configurar sus propios UDR o puntos de conexión de servicio.

Requisitos previos de red de CNI de AKS

Al planear la configuración de red para AKS, tenga en cuenta estos requisitos y consideraciones:

  • A menos que use un clúster aislado de red, la red virtual del clúster de AKS debe permitir la conectividad saliente a Internet a los puntos de conexión necesarios. Los clústeres aislados de red pueden arrancar sin conectividad saliente a Internet.

  • Los intervalos de direcciones de AKS tienen las restricciones siguientes:

    Intervalo CIDR reservado Se aplica a Condition
    169.254.0.0/16 Intervalos de direcciones de red virtual de clúster, pod y servicio de Kubernetes Todos los clústeres de AKS
    192.0.2.0/24 Intervalos de direcciones de red virtual de clúster, pod y servicio de Kubernetes Todos los clústeres de AKS
    172.30.0.0/16 Intervalos de direcciones de red virtual de clúster, pod y servicio de Kubernetes Todos los clústeres de AKS
    172.31.0.0/16 Intervalos de direcciones de red virtual de clúster, pod y servicio de Kubernetes Todos los clústeres de AKS

    AKS rechaza los CIDR de pod que se superponen a un intervalo reservado durante la creación o actualización del clúster. Por ejemplo, 172.16.0.0/12 no es válido porque el intervalo incluye 172.30.0.0/16 y 172.31.0.0/16.

  • En escenarios en los que se utiliza una red virtual propia, la identidad que el clúster de AKS utiliza debe tener al menos permisos de Colaborador de red en la subred dentro de la red virtual.

  • Si define un rol personalizado en lugar de usar el rol integrado Colaborador de red, incluya los permisos siguientes:

    Permiso Cuándo es necesario
    Microsoft.Network/virtualNetworks/subnets/join/action Siempre cuando se usa un rol personalizado
    Microsoft.Authorization/roleAssignments/write Siempre cuando se usa un rol personalizado
    Microsoft.Network/virtualNetworks/subnets/read Solo al definir sus propias subredes y CIDR
  • La subred asignada al grupo de nodos AKS no puede ser una subred delegada.

  • AKS no aplica grupos de seguridad de red (NSG) a su subred y no modificará ninguno de los grupos de seguridad de red asociados a esa subred. Si proporciona su propia subred y agrega grupos de seguridad de red asociados a ella, debe asegurarse de que las reglas de seguridad de los NSG permiten el tráfico entre dentro del rango CIDR del nodo. Con Azure superposición de CNI, si una regla de denegación de NSG afecta al tráfico CIDR de pod, también debe permitir el tráfico del CIDR del nodo al CIDR del pod y del CIDR del pod al CIDR del pod en todos los puertos y protocolos. Para obtener más información, consulte Grupos de seguridad de red con Azure Superposición de CNI.

  • Container Network Service (CNS) es un servicio local de nodo dentro de las redes CNI de Azure Kubernetes Service que asigna, gestiona y programa la red para pods. Este componente envía datos de telemetría (métricas y registros), de forma predeterminada, fuera del clúster a un punto de conexión de Application Insights administrado por Microsoft para facilitar una resolución más rápida de los problemas de asignación de direcciones IP de red a los pods.