Saiba mais sobre endereços IPv6 para clusters, pods e serviços - Amazon EKS

Saiba mais sobre endereços IPv6 para clusters, pods e serviços

Aplica-se a: Pods com instâncias do Amazon EC2 e Pods do Fargate

Por padrão, o Kubernetes atribui endereços IPv4 aos Pods e services. Em vez de atribuir endereços IPv4 aos seus Pods e services, é possível configurar o seu cluster para atribuir endereços IPv6 a eles. O Amazon EKS não é compatível com pilhas duplas de Pods ou services, embora o Kubernetes seja na versão1.23 e posterior. Consequentemente, você não pode atribuir endereços IPv4 e IPv6 aos seus Pods e services.

Você seleciona qual família de IPs deseja usar para o seu cluster ao criá-lo. Não será possível alterar a família depois de criar o cluster.

Para obter um tutorial sobre como implantar um cluster IPv6 do Amazon EKS, consulte Implantar um cluster IPv6 do Amazon EKS e nós gerenciados do Amazon Linux.

Confira as seguintes considerações sobre o uso do recurso:

Suporte a recursos IPv6

Atribuições de endereços IP

  • Serviços Kubernetes: serviços do Kubernetes recebem apenas um endereço IPv6. Eles não recebem endereços IPv4.

  • Pods: Os pods recebem um endereço IPv6 e um endereço IPv4 local do host. O endereço IPv4 local do host é atribuído usando um plug-in CNI local do host encadeado com o VPC CNI, e o endereço não é informado ao ambiente de gerenciamento do Kubernetes. Ele só é usado quando um pod precisa se comunicar com recursos IPv4 externos em outra Amazon VPC ou na internet. O endereço IPv4 local do host é SNATed (pelo VPC CNI) para o endereço IPv4 primário da ENI primária do nó de processamento.

  • Pods e serviços: Pods e services recebem apenas um endereço IPv6. Isso não ocorre com um endereço IPv4. Como os Pods são capazes de se comunicar com endpoints IPv4 por meio do NAT na própria instância, o DNS64 e o NAT64 não são necessários. Se o tráfego precisar de um endereço IP público, ele será o endereço de rede de origem traduzido para um IP público.

  • Endereços de roteamento: O endereço de origem IPv6 de um Pod não é o endereço de rede de origem traduzido para o endereço IPv6 do nó ao se comunicar fora da VPC. Ele é roteado usando um gateway da Internet ou um gateway da Internet somente de saída.

  • Nós: Todos os nós recebem um endereço IPv4 e IPv6.

  • Fargate Pods : Cada Fargate Pod recebe um endereço IPv6 do CIDR especificado para a sub-rede em que está implantado. A unidade de hardware subjacente que executa Pods do Fargate obtém um endereço IPv4 e IPv6 exclusivo dos CIDRs atribuídos à sub-rede em que a unidade de hardware está implantada.

Como usar o IPv6 com o EKS

  • Criar novo cluster: Você deve criar um novo cluster e especificar que deseja usar a família IPv6 para esse cluster. Você não pode habilitar a família do IPv6 para um cluster atualizado de uma versão anterior. Para obter instruções sobre como criar um novo cluster, consulte Considerações .

  • Use o VPC CNI recente: implante a versão do Amazon VPC CNI 1.10.1 ou posterior. Essa versão ou uma posterior é implantada por padrão. Depois de implantar o complemento, você não poderá fazer downgrade do seu complemento CNI da Amazon VPC para uma versão inferior a 1.10.1 sem remover primeiro todos os nós em todos os grupos de nós do seu cluster.

  • Configure o VPC CNI para IPv6 : Se você usar nós do Amazon EC2, deverá configurar o complemento Amazon VPC CNI com delegação de prefixo IP e IPv6. Se você escolher a família IPv6 ao criar o seu cluster, a versão 1.10.1 do complemento elegerá tal configuração como padrão. Esse é o caso de complementos autogerenciados ou do Amazon EKS. Para obter mais informações sobre a delegação de prefixos IP, consulte Atribuir mais endereços IP aos nós do Amazon EKS com prefixos.

  • Configure os endereços IPv4 e IPv6: Quando você cria um cluster, a VPC e as sub-redes que você especificar devem ter um bloco CIDR IPv6 atribuído à VPC e às sub-redes que você especificar. Elas também precisam ter um bloco CIDR IPv4 atribuído a elas. Isso ocorre porque, ainda que você só queira usar o IPv6, uma VPC ainda precisa de um bloco CIDR IPv4 para funcionar. Para obter mais informações, consulte Associar um bloco CIDR IPv6 à sua VPC no Guia do usuário da Amazon VPC.

  • Atribuição automática de endereços IPv6 aos nós: Ao criar seus nós, você deve especificar sub-redes que estejam configuradas para atribuir automaticamente endereços IPv6. Caso contrário, você não poderá implantar seus nós. Por padrão, essa configuração fica desativada. Para obter mais informações, consulte Modificar o atributo de endereçamento IPv6 para a sua sub-rede no Guia do usuário da Amazon VPC.

  • Defina tabelas de rotas para usar IPv6 : As tabelas de rotas atribuídas às suas sub-redes devem ter rotas para endereços IPv6. Para obter mais informações, consulte Migrar para IPv6 no Guia do usuário da Amazon VPC.

  • Defina grupos de segurança para o IPv6 : seus grupos de segurança devem permitir endereços IPv6. Para obter mais informações, consulte Migrar para IPv6 no Guia do usuário da Amazon VPC.

  • Configure o balanceador de carga: use a versão 2.3.1 ou posterior do AWS Load Balancer Controller para balancear a carga de aplicações HTTP usando Roteamento de aplicações e tráfego HTTP com Application Load Balancers ou o tráfego de rede usando Roteamento de tráfego TCP e UDP com Network Load Balancers para IPv6 Pods com qualquer um dos balanceadores de carga no modo IP, mas não no modo de instância. Para ter mais informações, consulte Direcionar o tráfego da Internet com o AWS Load Balancer Controller.

  • Adicione a política do IAM IPv6: Você deve anexar uma política do IAM do IPv6 à perfil do IAM do nó ou de IAM da CNI. Entre os dois, recomendamos que você a anexe a uma função do IAM do CNI. Para ter mais informações, consulte Criar uma política do IAM para clusters que usam a família IPv6 e Etapa 1: Criar o perfil do IAM Amazon VPC CNI plugin for Kubernetes.

  • Avalie todos os componentes: Faça uma avaliação completa de suas aplicações, dos complementos do Amazon EKS e dos serviços AWS com os quais você se integra antes de implantar os clusters IPv6. Isso ocorre para garantir que tudo funcione conforme o esperado com o IPv6.

  • Adicione BootstrapArguments grupos de nós autogerenciados: Ao criar um grupo de nós autogerenciados em um cluster que usa a família IPv6, os dados do usuário devem incluir o seguinte BootstrapArguments para o arquivo bootstrap.sh que é executado na inicialização do nó. Substitua your-cidr pelo intervalo CIDR IPv6 da VPC do seu cluster.

    --ip-family ipv6 --service-ipv6-cidr your-cidr

    Se você não souber o intervalo IPv6 CIDR do seu cluster, poderá vê-lo com o seguinte comando (requer a versão AWS CLI 2.4.9 ou posterior).

    aws eks describe-cluster --name my-cluster --query cluster.kubernetesNetworkConfig.serviceIpv6Cidr --output text