Como solucionar falhas na criação de grupos de nós gerenciados do Amazon EKS?
Meu grupo de nós gerenciados do Amazon Elastic Kubernetes Service (Amazon EKS) falhou na criação. Os nós não conseguem ingressar no cluster e recebi um erro semelhante ao seguinte: “As instâncias falharam ao ingressar no cluster do kubernetes.”
Resolução
Use o runbook de automação para identificar problemas comuns
Use o runbook AWSSupport-TroubleshootEKSWorkerNode para encontrar problemas comuns.
Importante: para que a automação funcione, seus nós de processamento devem ter permissão para acessar o AWS Systems Manager e ter o Systems Manager em execução. Para conceder permissão, anexe a política gerenciada da AWS AmazonSSMManagedInstanceCore ao perfil do AWS Identity and Access Management (AWS IAM) que corresponde ao seu perfil de instância do Amazon Elastic Compute Cloud (EC2). Essa é a configuração padrão para grupos de nós gerenciados pelo Amazon EKS que são criados por meio de eksctl.
Conclua as seguintes etapas:
- Abra o runbook.
- Verifique se a região da AWS no Console de Gerenciamento da AWS está definida como a mesma região do seu cluster.
Observação: consulte a seção Detalhes do runbook para mais informações sobre o runbook. - Na seção Parâmetros de entrada, especifique o nome do seu cluster no campo ClusterName e o ID da instância no campo WorkerID.
- (Opcional) No campo AutomationAssumeRole, especifique o perfil do IAM para permitir que o Systems Manager execute ações. Se não forem especificadas, as permissões do IAM da sua entidade IAM atual serão usadas para realizar as ações no runbook.
- Selecione Executar.
- Consulte a seção Saídas para ver por que seu nó de processamento não pode ingressar no cluster e conhecer as etapas que você pode seguir para resolver o erro.
Confirme os requisitos de tráfego do grupo de segurança do nó de processamento
Confirme se o grupo de segurança do painel de controle e o grupo de segurança do nó de processamento estão configurados com os requisitos para tráfego de entrada e saída. Por padrão, o Amazon EKS aplica o grupo de segurança do cluster às instâncias em seu grupo de nós para facilitar a comunicação entre os nós e o plano de controle. Se você especificar grupos de segurança personalizados no modelo de execução do seu grupo de nós gerenciados, o Amazon EKS não adicionará o grupo de segurança do cluster.
Verifique as permissões do IAM do nó de processamento
Certifique-se de que o perfil de instância do IAM associado ao nó de processamento tenha as políticas AmazonEKSWorkerNodePolicy e AmazonEC2ContainerRegistryReadOnly anexadas.
Observação: Você deve anexar a política gerenciada da Amazon AmazonEKS_CNI_Policy a um perfil do IAM. Você pode anexá-la à função de instância do nó. No entanto, é uma prática recomendada anexar a política a um perfil associado à conta de serviço do Kubernetes aws-node no namespace kube-system. Para obter mais informações, consulte Configurar o plugin CNI da Amazon VPC para usar o IRSA.
Confirme se a Amazon VPC do seu cluster tem suporte para um nome de host e resolução de DNS
Depois de configurar o acesso privado para seu endpoint de cluster do EKS, você deve ativar um nome de host DNS e uma resolução de DNS para sua Amazon Virtual Private Cloud (Amazon VPC). Quando você ativa o acesso privado ao endpoint, o Amazon EKS cria uma zona hospedada privada do Amazon Route 53 para você. Em seguida, o Amazon EKS a associa à Amazon VPC do seu cluster. Para obter mais informações, consulte Controlar o acesso de rede ao endpoint do servidor de API do cluster.
Atualizar o ConfigMap aws-auth com o NodeInstanceRole dos seus nós de processamento
Verifique se o aws-auth configMap está configurado corretamente com o perfil do IAM de seus nós de processamento, não com o perfil de instância.
Defina as tags para seus nós de processamento
Para a propriedade Tag dos seus nós de processamento, defina a chave como kubernetes.io/cluster/clusterName e defina o valor como de propriedade.
Confirme se as sub-redes da Amazon VPC para o nó de processamento têm endereços IP disponíveis
Se sua Amazon VPC ficar sem endereços IP, associe um CIDR secundário à sua Amazon VPC existente. Para obter mais informações, consulte Exibir os requisitos de rede do Amazon EKS para VPC e sub-redes.
Confirme se seus nós de processamento do Amazon EKS podem alcançar o endpoint do servidor de API do seu cluster
Você pode executar nós de processamento em qualquer sub-rede em seu cluster VPC ou sub-rede emparelhada se houver uma rota de Internet por meio dos seguintes gateways:
- NAT
- Internet
- Trânsito
Se seus nós de processamento forem executados em uma rede privada restrita, confirme se seus nós de processamento podem acessar o endpoint do servidor da API Amazon EKS. Para obter mais informações, consulte os requisitos para executar o Amazon EKS em um cluster privado sem acesso externo à Internet.
Observação: É uma prática recomendada criar o gateway NAT em uma sub-rede pública para nós que estão em uma sub-rede privada impulsionada por um gateway NAT.
Se você não estiver usando endpoints do AWS PrivateLink, verifique o acesso aos endpoints da API por meio de um servidor de proxy para os seguintes serviços da AWS:
- Amazon EC2
- Amazon ECR
- Amazon S3
Para verificar se o nó de trabalho tem acesso ao servidor da API, use o SSH para se conectar e execute o seguinte comando netcat:
nc -vz 9FCF4EA77D81408ED82517B9B7E60D52.yl4.eu-north-1.eks.amazonaws.com 443
Observação: Substitua 9FCF4EA77D81408ED82517B9B7E60D52.yl4.eu-north-1.eks.amazonaws.com pelo endpoint do seu servidor de API.
Verifique os logs do kubelet enquanto ainda estiver acessando sua instância:
journalctl -f -u kubelet
Se os logs do kubelet não fornecerem informações sobre a origem do problema, verifique o status do kubelet no nó de processamento:
sudo systemctl status kubelet
Colete os logs do Amazon EKS e os logs do sistema operacional para obter mais soluções de problemas.
Verifique se os endpoints da API podem alcançar sua região da AWS
Use o SSH para se conectar a um dos nós de processamento e, em seguida, execute os seguintes comandos para cada serviço:
$ nc -vz ec2.region.amazonaws.com 443 $ nc -vz ecr.region.amazonaws.com 443 $ nc -vz s3.region.amazonaws.com 443
**Observação:**substitua a região pela região da AWS do seu nó de processamento.
Configure os dados de usuário de seu nó de processamento
Para modelos de execução de grupos de nós gerenciados com uma AMI especificada, você deve fornecer comandos de bootstrap para que os nós de processamento ingressem no seu cluster. O Amazon EKS não mescla os comandos de bootstrap padrão em seus dados de usuário. Para obter mais informações, consulte Apresentação do modelo de execução e do suporte personalizado à AMI nos Grupos de nós gerenciados do Amazon EKS e Como especificar uma AMI.
Exemplo de modelo de execução com comandos de bootstrap:
#!/bin/bashset -o xtrace/etc/eks/bootstrap.sh ${ClusterName} ${BootstrapArguments}
**Observação:**Substitua ${clusterName} pelo nome do seu cluster do Amazon EKS. Substitua ${bootstrapArguments} por valores adicionais de bootstrap, se necessário.
Informações relacionadas
Solucionar problemas com clusters e nós do Amazon EKS
Como posso fazer os meus nós de processamento ingressarem no meu cluster do Amazon EKS?
- Tópicos
- End User ComputingContainers
- Idioma
- Português

Conteúdo relevante
- feita há 9 meses
- feita há 10 meses