Como configuro o plug-in CNI do Amazon VPC para usar um endereço IP em sub-redes VPC com o Amazon EKS?

4 minuto de leitura
0

Quero configurar o plug-in CNI (Container Network Interface) da Amazon Virtual Private Cloud (VPC) para usar um número de controle de endereço IP em sub-redes VPC com o Amazon Elastic Kubernetes Service (Amazon EKS).

Breve descrição

Um dos principais componentes do CNI do Amazon VPC é o daemon L-IPAM que aloca endereços IP aos nós.

Se um novo pod for programado em um nó, o Tempo de execução do contêiner invocará o binário do CNI. O binário do CNI chama o L-IPAMD para obter um endereço IP para o novo pod. Em seguida, o pod rastreia as interfaces de rede elástica e os endereços IP anexados à instância.

Você pode usar determinadas variáveis de configuração para controlar quantas interfaces de rede e endereços IP são mantidos. Para obter mais informações, consulte WARM_ENI_TARGET, WARM_IP_TARGET e MINIMUM_IP_TARGET e WARM_PREFIX_TARGET, WARM_IP_TARGET e MINIMUM_IP_TARGET no site do GitHub.

Resolução

A seguir são apresentadas as práticas recomendadas para cada uma das variáveis de configuração que controlam a manutenção de interfaces de rede e endereços IP.

WARM_ENI_TARGET

Use a variável WARM_ENI_TARGET para determinar quantas interfaces de rede elástica o L-IPAMD mantém disponíveis. Isso ocorre para que os pods recebam imediatamente um endereço IP quando programados em um nó.

A seguir são apresentadas as práticas recomendadas para WARM_ENI_TARGET

  • Verifique o tipo de instância do nó de trabalho e o número máximo de interfaces de rede e endereços IPv4 privados por interface. Isso evita o esgotamento dos endereços IP de sub-rede disponíveis.
  • Se você espera que seu aplicativo possa ter uma alta escalabilidade, use WARM_ENI_TARGET para acomodar rapidamente os pods recém-programados.

WARM_IP_TARGET

Use a variável WARM_IP_TARGET para garantir que você sempre tenha um número definido de endereços IP disponíveis no grupo quente do L-IPAMD.

A seguir estão as melhores práticas para WARM_IP_TARGET

  • Para clusters com baixa produtividade, use WARM_IP_TARGET. Isso significa que somente o número necessário de endereços IP é atribuído à interface de rede.
  • Não use essa configuração para clusters grandes ou se o cluster tiver uma alta rotatividade de pods. Essa configuração pode causar chamadas adicionais para a API do Amazon Elastic Compute Cloud (Amazon EC2) e pode limitar as solicitações. É uma prática recomendada definir um MINIMUM_IP_TARGET ao usar WARM_IP_TARGET.
  • Quando um MINIMUM_IP_TARGET é definido, é uma prática recomendada que WARM_IP_TARGET que 0.

MINIMUM_IP_TARGET

Use o MINIMUM_IP_TARGET para garantir que um número mínimo de endereços IP seja atribuído a um nó quando ele for criado. Essa variável geralmente é usada com a variável WARM_IP_TARGET.

A seguir são apresentadas as práticas recomendadas para MINIMUM_IP_TARGET

  • Se você souber o número mínimo de pods que deseja executar por nó, use MINIMUM_IP_TARGET. Isso garante que o número necessário de endereços IP seja atribuído.
  • Defina essa variável com WARM_IP_TARGET para garantir que haja endereços IP disponíveis no nó para futuros pods.

WARM_PREFIX_TARGET

Use a variável WARM_PREFIX_TARGET para garantir que você sempre tenha um número definido de prefixos (blocos CIDR /28) adicionados à interface de rede da instância. Você pode usar WARM_PREFIX_TARGET somente para CNI versão 1.9.0 ou posterior e deve ativar o recurso de atribuição de prefixo de endereço IP do CNI do Amazon VPC.

A seguir estão as melhores práticas para WARM_PREFIX_TARGET

  • Se você usar a atribuição de prefixo de endereço IP, certifique-se de que a variável WARM_PREFIX_TARGET esteja definida com um valor maior ou igual a 1. Se estiver definida como 0, você receberá o seguinte erro:

    “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 sub-redes menores, use WARM_IP_TARGET com WARM_PREFIX_TARGET. Isso evita a alocação de muitos prefixos que podem esgotar os endereços IP disponíveis.

Para saber mais sobre como essas variáveis de configuração afetam a utilização do endereço IP, consulte CNI configuration variables no site do GitHub.

AWS OFICIAL
AWS OFICIALAtualizada há um ano