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
-
Não há suporte para Windows: Windows Pods e services não são compatíveis.
-
São necessários nós do EC2 baseados no Nitro: você só pode usar
IPv6
com nós Amazon EC2 ou Fargate baseados no AWS Nitro. -
Suporte a nós do EC2 e Fargate: você pode usar
IPv6
com Atribuir grupos de segurança a pods individuais com nós do Amazon EC2 e nós Fargate. -
Não há suporte para Outposts : não é possível usar
IPv6
com o Implantar o Amazon EKS on-premises com o AWS Outposts. -
Não há suporte para o FSx para Lustre: o Armazenar aplicações de alta performance com o FSx para Lustre não é compatível.
-
Serviço de metadados de instância não suportado: O uso do endpoint do Amazon EC2 Instance Metadata Service
IPv6
não é compatível com o Amazon EKS. -
Não há suporte para redes personalizadas: Se você usou anteriormente Implementar pods em sub-redes alternadas com rede personalizada para ajudar a aliviar a exaustão de endereços IP, poderá usar
IPv6
em vez disso. Não é possível usar redes personalizadas comIPv6
. Se você usar redes personalizadas para isolar redes, talvez seja necessário continuar usando redes personalizadas e a famíliaIPv4
para os seus clusters.
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çoIPv4
. Como os Pods são capazes de se comunicar com endpointsIPv4
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çoIPv6
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
eIPv6
. -
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çoIPv4
eIPv6
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 doIPv6
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 a1.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 eIPv6
. Se você escolher a famíliaIPv6
ao criar o seu cluster, a versão1.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
eIPv6
: Quando você cria um cluster, a VPC e as sub-redes que você especificar devem ter um bloco CIDRIPv6
atribuído à VPC e às sub-redes que você especificar. Elas também precisam ter um bloco CIDRIPv4
atribuído a elas. Isso ocorre porque, ainda que você só queira usar oIPv6
, uma VPC ainda precisa de um bloco CIDRIPv4
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çosIPv6
. 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çosIPv6
. 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 paraIPv6
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 doIPv6
à 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 oIPv6
. -
Adicione
BootstrapArguments
grupos de nós autogerenciados: Ao criar um grupo de nós autogerenciados em um cluster que usa a famíliaIPv6
, os dados do usuário devem incluir o seguinteBootstrapArguments
para o arquivo bootstrap.shque é executado na inicialização do nó. Substitua your-cidr
pelo intervalo CIDRIPv6
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 CLI2.4.9
ou posterior).aws eks describe-cluster --name my-cluster --query cluster.kubernetesNetworkConfig.serviceIpv6Cidr --output text