Ayude a mejorar esta página
¿Quiere contribuir a esta guía del usuario? Desplácese hasta el final de esta página y seleccione Editar esta página en GitHub. Sus contribuciones ayudarán a que nuestra guía del usuario sea mejor para todos.
Aumentar la cantidad de direcciones IP disponibles para sus nodos de Amazon EC2
Cada instancia de Amazon EC2 admite una cantidad máxima de interfaces de red elásticas y una cantidad máxima de direcciones IP que se pueden asignar a cada interfaz de red. Cada nodo requiere una dirección IP para cada interfaz de red. Se pueden asignar todas las demás direcciones IP disponibles a Pods
. Cada uno Pod
requiere su propia dirección IP. Como resultado, es posible que tenga nodos que tengan recursos informáticos y de memoria disponibles, pero que no puedan acomodar Pods
adicionales porque el nodo se quedó sin direcciones IP para asignar a Pods
.
En este tema, aprenderá a aumentar significativamente la cantidad de direcciones IP que los nodos pueden asignar a Pods
mediante la asignación de prefijos de IP, en lugar de asignar direcciones IP secundarias individuales a sus nodos. Cada prefijo incluye varias direcciones IP. Si no configura su clúster para la asignación de prefijos IP, debe realizar más llamadas a la interfaz de programación de aplicaciones (API) de Amazon EC2 para configurar las interfaces de red y las direcciones IP necesarias para la conectividad Pod. A medida que los clústeres crecen a tamaños más grandes, la frecuencia de estas llamadas a la API puede generar tiempos de lanzamiento de instancias y Pod más prolongados. Esto causa retrasos en el escalado para satisfacer la demanda de cargas de trabajo grandes y exigentes, y agrega costos y gastos generales de administración, ya que necesita aprovisionar clústeres y VPC adicionales para cumplir con los requisitos de escalado. Para obtener más información, consulte Umbrales de escalabilidad de Kubernetes
Consideraciones
-
Cada tipo de instancia de Amazon EC2 admite una cantidad máxima de Pods. Si el grupo de nodos administrado consta de varios tipos de instancias, el número de Pods máximo menor de una instancia del clúster se aplica a todos los nodos del clúster.
-
De forma predeterminada, el número máximo de
Pods
que puede ejecutar en un nodo es 110, pero puede cambiar ese número. Si cambia el número y tiene un grupo de nodos administrado existente, la siguiente AMI o la actualización de la plantilla de lanzamiento de su grupo de nodos generará nuevos nodos con el valor modificado. -
Al pasar de la asignación de direcciones IP a la asignación de prefijos de IP, le recomendamos que cree nuevos grupos de nodos para aumentar la cantidad de direcciones IP disponibles, en lugar de realizar un reemplazo gradual de los nodos existentes. La ejecución de Pods en un nodo que tiene direcciones IP y prefijos asignados puede generar inconsistencias en la capacidad de direcciones IP anunciada, lo que afecta las futuras cargas de trabajo en el nodo. Para conocer la forma recomendada de realizar la transición, consulte Reemplazar todos los nodos durante la migración del modo de IP secundaria al modo de delegación de prefijo o viceversa
en la guía de prácticas recomendadas de Amazon EKS. -
Solo para clústeres con nodos Linux.
-
Una vez que configura el complemento para asignar prefijos a las interfaces de red, no puede degradar su complemento Amazon VPC CNI plugin for Kubernetes a una versión anterior a
1.9.0
(o1.10.1
) sin eliminar todos los nodos en todos los grupos de nodos en su clúster. -
Si también utiliza grupos de seguridad para Pods, con
POD_SECURITY_GROUP_ENFORCING_MODE
=standard
yAWS_VPC_K8S_CNI_EXTERNALSNAT
=false
, cuando se Pods comunica con puntos de conexión fuera de su VPC, se utilizan los grupos de seguridad del nodo, en lugar de cualquier grupo de seguridad que haya asignado a su Pods.Si también utiliza grupos de seguridad para Pods, con
POD_SECURITY_GROUP_ENFORCING_MODE
=strict
, cuando suPods
se comunica con puntos de conexión fuera de su VPC, se utilizan los grupos de seguridadPod's
.
-
Requisitos previos
-
Un clúster existente. Para implementar uno, consulte Creación de un clúster de Amazon EKS.
-
Las subredes en las que se encuentran sus nodos de Amazon EKS deben tener suficientes bloques contiguos
/28
(para clústeresIPv4
) o/80
(para clústeresIPv6
) enrutamiento entre dominios sin clases (CIDR). Solo puede tener nodos Linux en un clústerIPv6
. El uso de prefijos IP puede fallar si las direcciones IP están dispersas por toda la subred CIDR. Le recomendamos lo siguiente:-
Utilizar una reserva CIDR de subred para que, aunque se siga utilizando alguna dirección IP dentro del rango reservado, una vez publicada, no se reasignen las direcciones IP. Esto garantiza que los prefijos estén disponibles para su asignación sin segmentación.
-
Utilice nuevas subredes que se usen específicamente para ejecutar las cargas de trabajo a las que se asignan los prefijos IP. Tanto las cargas de trabajo Windows como las Linux pueden ejecutarse en la misma subred cuando se asignan prefijos de IP.
-
-
Para asignar prefijos de IP a sus nodos, sus nodos deben estar basados en AWS Nitro. Las instancias que no están basadas en Nitro continúan asignando direcciones IP secundarias individuales, pero tienen una cantidad significativamente menor de direcciones IP para asignar a las instancias Pods que las instancias Nitro-based.
-
Solo para clústeres con nodos Linux: si su clúster está configurado para la familia
IPv4
, debe tener instalada la versión1.9.0
o posterior del complemento Amazon VPC CNI plugin for Kubernetes. Puede comprobar su versión actual con el siguiente comando.kubectl describe daemonset aws-node --namespace kube-system | grep Image | cut -d "/" -f 2
Si su clúster está configurado para la familia
IPv6
, debe tener instalada la versión1.10.1
o del complemento. Si la versión de su complemento es anterior a las versiones requeridas, debe actualizarlo. Para obtener más información, consulte las secciones de actualización de Trabajar con el complemento Amazon VPC CNI plugin for Kubernetes de Amazon EKS. -
Solo para clústeres con nodos Windows.
-
El clúster y su versión de la plataforma deben ser iguales o posteriores a las versiones de la siguiente tabla. Para actualizar la versión de su clúster, utilice Actualización de una versión de Kubernetes de clúster de Amazon EKS. Si su clúster no tiene la versión mínima de la plataforma, no puede asignar prefijos IP a sus nodos hasta que Amazon EKS haya actualizado la versión de la plataforma.
Versión de Kubernetes Versión de la plataforma 1.27
eks.3
1.26
eks.4
1.25
eks.5
Puede verificar su versión actual de Kubernetes y de la plataforma reemplazando
en el siguiente comando con el nombre de su clúster y luego ejecutando el comando modificado:my-cluster
aws eks describe-cluster --name
.my-cluster
--query 'cluster.{"Kubernetes Version": version, "Platform Version": platformVersion}' -
Windows habilita la compatibilidad con su clúster. Para obtener más información, consulte Activación de la compatibilidad con Windows para su clúster de Amazon EKS.
-
A fin de aumentar la cantidad de direcciones IP disponibles para sus nodos de Amazon EC2
-
Configure el clúster para asignar prefijos de direcciones IP a los nodos. Complete el procedimiento en la pestaña que coincida con el sistema operativo de su nodo.
-
Una vez que se implementan los nodos, consulte los nodos del clúster.
kubectl get nodes
Un ejemplo de salida sería el siguiente.
NAME STATUS ROLES AGE VERSION ip-
192-168-22-103
.region-code
.compute.internal Ready <none>19m
v1.XX.X-eks-6b7464
ip-192-168-97-94
.region-code
.compute.internal Ready <none>19m
v1.XX.X-eks-6b7464
-
Describa uno de los nodos para determinar el valor de
max-pods
para el nodo y el número de direcciones IP disponibles. Reemplace
con la dirección192.168.30.193
IPv4
en el nombre de uno de sus nodos devueltos en la salida anterior.kubectl describe node ip-
192-168-30-193
.region-code
.compute.internal | grep 'pods\|PrivateIPv4Address'Un ejemplo de salida sería el siguiente.
pods:
110
vpc.amazonaws.com/PrivateIPv4Address:144
En el resultado anterior,
110
es el número máximo de Pods que Kubernetes implementará en el nodo, aunque haya144
direcciones IP disponibles.