Compartir vía


Planeamiento de direcciones IP para los clústeres de Azure Kubernetes Service (AKS)

En este artículo se proporcionan instrucciones sobre el planeamiento de direcciones IP para clústeres de Azure Kubernetes Service (AKS).

Para obtener instrucciones específicas sobre el planeamiento de direcciones IP para opciones individuales de CNI, vea la sección pasos siguientes para obtener vínculos a la documentación del complemento.

Ajuste de tamaño de subred

La subred de red virtual de Azure debe ser lo suficientemente grande como para acomodar el clúster, lo que depende de si usa una red de superpuesta o una red plana.

Superponer redes

Con las redes de superposición, como Superposición de Azure CNI, la subred debe ser lo suficientemente grande como para asignar direcciones IP a los nodos. Los pods se asignan direcciones IP de un intervalo CIDR privado independiente y no requerirán direcciones IP de red virtual. La subred de red virtual que usa para el clúster puede ser menor que con redes planas.

Es importante asegurarse de asignar espacio suficiente en el intervalo CIDR privado para que los pods tenga en cuenta el escalado. Al planear los tamaños del intervalo de direcciones IP, debe calcular el número máximo de pods. A cada nodo del clúster se le asigna una subred /24 (256 direcciones IP) para pods. Debe planear la subred de red superpuesta para dar cabida al número máximo de nodos que espera ejecutar.

Redes planas

Las redes planas, como Subred de pod de Azure CNI, requieren una subred lo suficientemente grande como para dar cabida a los nodos y los pods. Dado que los nodos y pods reciben direcciones IP de la red virtual, debe planear el número máximo de nodos y pods que espera ejecutar. La subred de pod de Azure CNI usa una subred para los nodos y una subred independiente para los pods, por lo que debe planear ambas.

Ajuste de tamaño de la dirección IP

Consideraciones de actualización y escalado

Al planear la dirección IP para el clúster de AKS, debe tener en cuenta el número de direcciones IP necesarias para las operaciones de actualización y escalado. Si establece el intervalo de direcciones IP para que solo admita un número fijo de nodos, no podrá actualizar ni escalar el clúster.

Al actualizar el clúster de AKS, se implementa un nuevo nodo en el clúster. Los servicios y las cargas de trabajo comienzan a ejecutarse en el nuevo nodo y el nodo antiguo se quita del clúster. Para realizar este proceso de actualización gradual es necesario que haya disponible un bloque adicional de direcciones IP. El número de nodos se n + 1 donde n es el número de nodos del clúster.

Al escalado un clúster de AKS, se implementa un nuevo nodo en el clúster. Los servicios y las cargas de trabajo comienzan a ejecutarse en el nuevo nodo. El intervalo de direcciones IP debe tener en cuenta cómo desea escalar verticalmente el número de nodos y pods que el clúster puede admitir. También debe incluirse como mínimo un nodo adicional para las operaciones de actualización o el número de nodos establecido por la opción Personalizar actualización de sobrecarga de nodos. El recuento de nodos es entonces n + number-of-additional-scaled-nodes-you-anticipate + max surge.

Si usa Subred de pod de Azure CNI y espera que los nodos ejecuten el número máximo de pods y que destruya e implemente pods con regularidad, también debe tener en cuenta direcciones IP adicionales por nodo. Puede haber unos segundos de latencia necesaria para eliminar un servicio y liberar su dirección IP para que se implemente un nuevo servicio y adquiera la dirección. Las direcciones IP adicionales tienen en cuenta esta posibilidad.

El plan de direcciones IP de un clúster AKS consta de una red virtual, al menos una subred para los nodos y pods, y un intervalo de direcciones del servicio de Kubernetes.

Recurso de Azure Intervalo de direcciones Límites y ajuste de tamaño
Azure Virtual Network Tamaño máximo /8. 65 536 límite de direcciones IP configurados. Vea Asignación de bloques estáticos de subred de pod de Azure CNI para obtener una excepción La superposición de espacios de direcciones dentro de la red puede causar problemas.
Subnet Debe ser lo suficientemente grande como para acomodar nodos, pods y todos los recursos de Kubernetes y Azure del clúster. Por ejemplo, si implementa una instancia interna de Azure Load Balancer, sus direcciones IP de front-end se asignan desde la subred del clúster, no desde direcciones IP públicas. El tamaño de subred también debe tener en cuenta las operaciones de actualización y las necesidades futuras de escalado.

Use la siguiente ecuación para calcular el tamaño mínimo de la subred, incluido un nodo adicional para las operaciones de actualización: (number of nodes + max surge nodes) + ((number of nodes + max surge nodes) * maximum pods per node that you configure)

Ejemplo de un clúster de 50 nodos: (51) + (51 * 30 (default)) = 1,581 (/21 o superior)

Ejemplo para un clúster de 50 nodos, preparación para escalar verticalmente 10 nodos adicionales con el aumento máximo predeterminado de 1 nodo: (61) + (61 * 30 (default)) = 1,891 (/21 o superior)

Si no especifica un número máximo de pods por nodo al crear el clúster, el número máximo de pods por nodo se establece en 30. El número mínimo de direcciones IP requeridas se basa en ese valor. Si calcula sus requisitos mínimos de direcciones IP sobre un valor máximo diferente, consulte Máximo de pods por nodo para establecer este valor cuando implemente su clúster.

Intervalo de direcciones de Kubernetes Service Ningún elemento de red de esta red virtual o que esté conectado a ella debe usarse en este rango. El CIDR de dirección de servicio debe ser menor que /12. Puede reutilizar este intervalo en diferentes clústeres de AKS.
Dirección IP del servicio DNS de Kubernetes Dirección IP dentro del intervalo de direcciones del servicio Kubernetes que usa la detección de servicios de clúster. No use la primera dirección IP del intervalo de direcciones. La primera dirección del intervalo de la subred se usa para la dirección kubernetes.default.svc.cluster.local.

Pods máximos por nodo

El número máximo de pods por nodo en un clúster de AKS es 250. El número máximo predeterminado de pods por nodo varía entre las redes de kubenety de Azure CNI, y el método de implementación del clúster.

CNI Pods máximos predeterminados Configurable en la implementación
Superposición de Azure CNI 250 Sí (hasta 250)
Subred de pods de CNI de Azure 110 Sí (hasta 250)
Azure CNI (heredado) 30 Sí (hasta 250)
Kubenet 110 Sí (hasta 250)

Configuración del máximo de pods por nodo para los clústeres

Puede configurar el número máximo de nodos por nodo en el momento de la implementación del clúster o a medida que agrega nuevos grupos de nodos. Puede establecer los pods máximos por valor de nodo hasta 250.

Se exige un valor mínimo para los pods máximos por nodo para garantizar el espacio de los pods del sistema críticos para el estado del clúster. El valor mínimo que se puede establecer para los pods máximos por nodo es diez si y solo si la configuración de cada grupo de nodos tiene espacio para un mínimo de treinta pods. Por ejemplo, si se establece el número máximo de pods por nodo en el mínimo de diez, cada grupo de nodos individual debe tener un mínimo de tres nodos. Este requisito se aplica también a cada nuevo grupo de nodos que se crea, por lo que si se define diez como el número máximo de pods por nodo, cada grupo de nodos que se agregue después debe tener al menos tres nodos.

Redes Mínima Máxima
CNI de Azure 10 250
Kubenet 10 250

Nota:

El valor mínimo de la tabla anterior lo aplica estrictamente el servicio AKS. No se puede establecer un valor para maxPods que sea inferior al mínimo que se muestra, ya que hacerlo puede impedir que el clúster se inicie.

Nuevos clústeres

Puede definir el máximo de pods por nodo al crear un clúster mediante uno de los métodos siguientes:

  • CLI de Azure: especifique el argumento --max-pods cuando implemente un clúster con el comando az aks create.
  • Plantilla de Azure Resource Manager: Especifique la propiedad maxPods en el objeto [ManagedClusterAgentPoolProfile] al implementar un clúster con una plantilla de Azure Resource Manager.
  • Azure Portal: cambie el campo Max pods per node en la configuración del grupo de nodos al crear un clúster o agregar un nuevo grupo de nodos.

Clústeres existentes

Puede definir el máximo de pods por nodo al crear un nuevo grupo de nodos. Si necesita aumentar la configuración de maxPods en un clúster existente, agregue un nuevo grupo de nodos con el nuevo número de maxPods deseado. Después de migrar los pods al nuevo grupo, elimine el grupo anterior del nodo.

Pasos siguientes