¿Cómo puedo configurar el complemento de CNI de Amazon VPC para usar una dirección IP en las subredes de VPC con Amazon EKS?

4 minutos de lectura
0

Quiero configurar el complemento de interfaz de red de contenedores (CNI) de Amazon Virtual Private Cloud (VPC) para usar un número de control de direcciones IP en las subredes de VPC con Amazon Elastic Kubernetes Service (Amazon EKS).

Descripción breve

Uno de los componentes principales del CNI de Amazon VPC es el daemon L-IPAM que asigna las direcciones IP a los nodos.

Si se programa un nuevo pod en un nodo, la versión ejecutable del contenedor invoca el binario CNI. El binario CNI llama a L-IPAMD para obtener una dirección IP para el nuevo pod. A continuación, el pod rastrea las interfaces de red elásticas y las direcciones IP que están conectadas a la instancia.

Puede usar ciertas variables de configuración para controlar cuántas interfaces de red y direcciones IP se mantienen. Para obtener más información, consulte WARM_ENI_TARGET, WARM_IP_TARGET and MINIMUM_IP_TARGET y WARM_PREFIX_TARGET, WARM_IP_TARGET y MINIMUM_IP_TARGET en el sitio web de GitHub.

Resolución

A continuación, se indican las prácticas recomendadas para cada una de las variables de configuración que controlan el mantenimiento de las interfaces de red y las direcciones IP.

WARM_ENI_TARGET

Utilice la variable WARM_ENI_TARGET para determinar cuántas interfaces de red elásticas mantiene disponibles L-IPAMD. De este modo, a los pods se les asigna inmediatamente una dirección IP cuando se programan en un nodo.

A continuación, se indican las prácticas recomendadas para WARM_ENI_TARGET:

  • Compruebe el tipo de instancia del nodo de trabajo y la cantidad máxima de interfaces de red y direcciones IPv4 privadas por interfaz. Esto evita que se agoten las direcciones IP de subred disponibles.
  • Si espera que su aplicación escale considerablemente, utilice WARM_ENI_TARGET para adaptarse rápidamente a los pods recién programados.

WARM_IP_TARGET

Utilice la variable WARM_IP_TARGET para asegurarse de tener siempre un número definido de direcciones IP disponibles en el grupo activo de L-IPAMD.

A continuación, se indican las prácticas recomendadas para WARM_IP_TARGET:

  • Para clústeres con baja productividad, utilice WARM_IP_TARGET.Esto significa que solo se asigna a la interfaz de red la cantidad necesaria de direcciones IP.
  • No utilices esta configuración para clústeres grandes o si el clúster tiene una alta pérdida de pods. Esta configuración puede provocar llamadas adicionales a la API de Amazon Elastic Compute Cloud (Amazon EC2) y limitar las solicitudes. Se recomienda establecer un MINIMUM_IP_TARGET cuando utilice WARM_IP_TARGET.
  • Cuando se ha establecido un MINIMUM_IP_TARGET, se recomienda que WARM_IP_TARGET sea mayor que 0.

MINIMUM_IP_TARGET

Utilice MINIMUM_IP_TARGET para asegurarse de que se asigne un número mínimo de direcciones IP a un nodo cuando se cree. Esta variable se usa generalmente con la variable WARM_IP_TARGET.

A continuación, se indican las prácticas recomendadas para MINIMUM_IP_TARGET:

  • Si conoce la cantidad mínima de pods que quiere ejecutar por nodo, utilice MINIMUM_IP_TARGET. Esto asegura que se asigne la cantidad necesaria de direcciones IP.
  • Configure esta variable con WARM_IP_TARGET para asegurarse de que haya direcciones IP disponibles en el nodo para futuros pods.

WARM_PREFIX_TARGET

Utilice la variable WARM_PREFIX_TARGET para asegurarse de tener siempre un número definido de prefijos (/28 bloques de CIDR) agregados a la interfaz de red de la instancia. Solo puede utilizar WARM_PREFIX_TARGET para la versión 1.9.0 o posterior de CNI, y debe activar la capacidad de asignación de prefijos de direcciones IP de CNI de Amazon VPC.

A continuación, se indican las prácticas recomendadas para WARM_PREFIX_TARGET:

  • Si utiliza la asignación de prefijos de direcciones IP, asegúrese de que la variable WARM_PREFIX_TARGET esté establecida en un valor mayor o igual a 1. Si está establecido en 0, recibirá el siguiente error:

    «Error: Setting WARM_PREFIX_TARGET = 0 is not supported while WARM_IP_TARGET/MINIMUM_IP_TARGET is not set. Please configure either one of the WARM_{PREFIX/IP}_TARGET or MINIMUM_IP_TARGET env variables».

  • Para subredes más pequeñas, utilice WARM_IP_TARGET con WARM_PREFIX_TARGET. Esto evita la asignación de demasiados prefijos que pueden agotar las direcciones IP disponibles.

Para obtener más información sobre cómo estas variables de configuración afectan a la utilización de direcciones IP, consulte CNI configuration variables en el sitio web de GitHub.

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año