Ajudar a melhorar esta página
Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.
Escolher um tipo de instância de nó do Amazon EC2 ideal
O Amazon EC2 fornece uma extensa seleção de tipos de instância para nós de processamento. Cada tipo de instância oferece diferentes capacidades de computação, memória, armazenamento e rede. Cada instância também é agrupada em famílias de acordo com esses recursos. Para obter uma lista, consulte Tipos de instância disponíveis, no Guia do usuário do Amazon EC2. O Amazon EKS lança diversas variações de AMIs do Amazon EC2 para permitir suporte. Para garantir que o tipo de instância selecionado seja compatível com o Amazon EKS, considere estes critérios.
-
Todas as AMIs do Amazon EKS no momento não têm suporte para as famílias
g5g
emac
. -
Arm e AMIs do Amazon EKS não aceleradas não são compatíveis com as famílias
g3
,g4
,inf
ep
. -
AMIs aceleradas do Amazon EKS não têm suporte para as famílias
a
,c
,hpc
,m
et
. -
Para instâncias baseadas em Arm, o Amazon Linux 2023 (AL2023) é somente compatível com tipos de instância que usam processadores Graviton2 ou versões mais recentes. O AL2023 não é compatível com instâncias
A1
.
Ao escolher entre tipos de instância que têm suporte pelo Amazon EKS, considere os recursos a seguir de cada tipo.
- Número de instâncias em um grupo de nós
-
Em geral, um número menor de instâncias maiores é melhor, especialmente se você tiver muitos DaemonSets. Cada instância requer chamadas de API para o servidor de API, portanto, quanto mais instâncias você tiver, maior a carga no servidor de APIs.
- Sistema operacional
-
Revise os tipos de instância compatíveis com o Linux, o Windows e o Bottlerocket
. Antes de criar instâncias do Windows, consulte Implantar nós do Windows em clusters do EKS. - Arquitetura de hardware
-
Você precisa de x86 ou Arm? Antes de implementar instâncias do Arm, analise as AMIs do Amazon EKS otimizadas para Arm Amazon Linux. Você precisa de instâncias criadas no Sistema Nitro (Linux ou Windows) ou que tenham recursos acelerados? Se você precisar de recursos acelerados, só poderá usar o Linux com o Amazon EKS.
- Número máximo de pods
-
Como cada pod é atribuído ao seu próprio endereço IP, o número de endereços IP compatíveis com um tipo de instância é um fator para determinar o número de pods que podem ser executados em uma instância. Para determinar manualmente quantos pods um tipo de instância suporta, consulte O máximo de pods do Amazon EKS recomendado para cada tipo de instância do Amazon EC2.
nota
Se estiver usando uma AMI do Amazon Linux 2 otimizada para Amazon EKS da versão
v20220406
ou mais recente, você poderá usar um novo tipo de instância sem fazer atualização para a AMI mais recente. Para essas AMIs, a AMI calcula automaticamente o valor necessário demax-pods
se ele não estiver listado no arquivo eni-max-pods.txt. Tipos de instância atualmente em versão de demonstração podem não ter suporte pelo Amazon EKS por padrão. Valores para max-pods
para esses tipos ainda precisam ser adicionados aeni-max-pods.txt
na nossa AMI.Os tipos de instância do AWS Nitro System
opcionalmente oferecem suporte a bem mais endereços IP do que os tipos de instância que não são do Nitro System. Contudo, nem todos os endereços IP atribuídos a uma instância estão disponíveis para pods. Para atribuir um número significativamente maior de endereços IP às suas instâncias, você deve ter a versão 1.9.0
ou superior do complemento CNI da Amazon VPC instalado em seu cluster e configurado adequadamente. Para ter mais informações, consulte Atribuir mais endereços IP aos nós do Amazon EKS com prefixos. Para atribuir o maior número de endereços IP às suas instâncias, a versão1.10.1
ou superior do complemento CNI da Amazon VPC deverá estar instalada em seu cluster e o cluster deverá ser implantado com a famíliaIPv6
. - Família IP
-
Você pode usar qualquer tipo de instância compatível ao usar a família
IPv4
para um cluster, o que permite ao cluster atribuir endereçosIPv4
privados aos pods e serviços. Porém, se você deseja utilizar a famíliaIPv6
para o seu cluster, deve usar tipos de instância do AWS Nitro Systemou tipos de instância de bare metal. Somente o IPv4
é compatível com instâncias do Windows. O cluster deve executar a versão1.10.1
ou posterior do complemento CNI da Amazon VPC. Para obter mais informações sobre o uso deIPv6
, consulte Saiba mais sobre endereços IPv6 para clusters, pods e serviços. - Versão do complemento Amazon VPC CNI que você está executando
-
A versão mais recente do plug-in Amazon VPC CNI para Kubernetes
é compatível com estes tipos de instância . Talvez seja necessário atualizar a versão do complemento Amazon VPC CNI para poder aproveitar os tipos de instância mais recentes com suporte. Para ter mais informações, consulte Atribuir IPs a pods com a CNI da Amazon VPC. A versão mais recente suporta os recursos mais recentes para serem usados com o Amazon EKS. As versões anteriores não suportam todos os recursos. Você pode visualizar os recursos suportados por diferentes versões no Changelog no GitHub. - Região da AWS em que você está criando seus nós
-
Nem todos os tipos de instâncias estão disponíveis em todas as regiões da AWS.
- Se você estiver usando grupos de segurança para pods
-
Se você estiver usando grupos de segurança para pods, apenas determinados tipos de instância serão compatíveis. Para ter mais informações, consulte Atribuir grupos de segurança a pods individuais.
O máximo de pods do Amazon EKS recomendado para cada tipo de instância do Amazon EC2
Como cada pod é atribuído ao seu próprio endereço IP, o número de endereços IP compatíveis com um tipo de instância é um fator para determinar o número de pods que podem ser executados em uma instância. O Amazon EKS fornece um script que você pode baixar e executar para determinar o número máximo de pods do Amazon EKS recomendado a serem executados em cada tipo de instância. O script usa atributos de hardware de cada instância e opções de configuração para determinar o número máximo de pods. Você pode usar o número retornado nessas etapas para habilitar recursos como atribuição de endereços IP a pods de uma sub-rede diferente da instância e aumentar significativamente o número de endereços IP da sua instância. Se estiver utilizando um grupo de nós gerenciados com vários tipos de instâncias, use um valor que funcione para todos os tipos de instância.
-
Baixe um script que você possa usar para calcular o número máximo de pods para cada tipo de instância.
curl -O https://raw.githubusercontent.com/awslabs/amazon-eks-ami/master/templates/al2/runtime/max-pods-calculator.sh
-
Marque o script como executável no computador.
chmod +x max-pods-calculator.sh
-
Execute o script, substituindo
m5.large
pelo tipo de instância que você planeja implantar e1.9.0-eksbuild.1
pela versão do complemento do Amazon VPC CNI. Para determinar a versão do complemento, consulte os procedimentos de atualização em Atribuir IPs a pods com o Amazon VPC CNI../max-pods-calculator.sh --instance-type m5.large --cni-version 1.9.0-eksbuild.1
Veja um exemplo de saída abaixo.
29
Você pode adicionar as seguintes opções ao script para ver o máximo de pods compatíveis ao usar funcionalidades opcionais.
-
--cni-custom-networking-enabled
: use essa opção quando quiser atribuir endereços IP de uma sub-rede diferente da sub-rede da sua instância. Para ter mais informações, consulte Implementar pods em sub-redes alternativas com rede personalizada. Adicionar essa opção ao script anterior com os mesmos valores do exemplo gera20
. -
--cni-prefix-delegation-enabled
: use esta opção quando quiser atribuir significativamente mais endereços IP a cada interface de rede elástica. Esse recurso requer uma instância do Amazon Linux executada no Sistema Nitro e na versão1.9.0
ou superior do complemento CNI da Amazon VPC. Para ter mais informações, consulte Atribuir mais endereços IP aos nós do Amazon EKS com prefixos. Adicionar essa opção ao script anterior com os mesmos valores do exemplo gera110
.
-
Você também pode executar o script com a opção --help
para ver todas as opções disponíveis.
nota
O script da calculadora max de pods limita o valor de retorno a 110
com base nos limites de escalabilidade do Kubernetes250
, um número baseado em testes internos da equipe de escalabilidade do Amazon EKS. Para obter mais informações, consulte a publicação no blog Plug-in do Amazon VPC CNI aumenta os limites de pods por nó
Considerações para o Modo Automático do EKS
O Modo Automático do EKS limita o número de pods nos nós inferior:
-
À capacidade fixa de 110 pods
-
Ao resultado do cálculo do máximo de pods descrito acima.