Meus nós de processamento não ingressam no meu cluster do Amazon Elastic Kubernetes Service (Amazon EKS).
Resolução
Para solucionar problemas de nós de processamento que não conseguem se juntar ao seu cluster do Amazon EKS, conclua as seguintes etapas:
Usar o Systems Manager Automation para identificar problemas
Execute o runbook de automação AWSSupport-TroubleshootEKSWorkerNode para identificar problemas que impedem que os nós de processamento ingressem em seu cluster.
Pré-requisitos:
- Os nós de processamento devem ter a política AmazonSSMManagedInstanceCore anexada ao seu perfil do AWS Identity and Access Management (AWS IAM)
- Os nós de processamento devem estar em execução e acessíveis por meio do Systems Manager
Para mais informações sobre como executar essa automação, consulte AWSSupport-TroubleshootEKSWorkerNode.
Verificar a configuração de DNS da sua VPC
Conclua as etapas a seguir:
- Abra o console da Amazon Virtual Private Cloud (Amazon VPC).
- No painel de navegação, selecione Suas VPCs.
- Selecione sua VPC.
- Escolha Ações e, em seguida, Editar configurações de VPC.
- Verifique as seguintes configurações:
Em Resolução de DNS, confirme se a opção está ativada.
Em Nomes de host de DNS, confirme se a opção está ativada.
- No painel de navegação, selecione Conjuntos de opções de DHCP.
- Selecione seu conjunto de opções de DHCP.
- Verifique os seguintes valores:
Em domain-name, confirme se está definido como region.compute.internal. Por exemplo, us-west-2.compute.internal.
Em domain-name-servers, confirme se está definido como AmazonProvidedDNS
Para mais informações sobre conjuntos de opções de DHCP, consulte Conjuntos de opções DHCP no Amazon VPC.
Verificar as permissões do IAM para nós de processamento
Conclua as etapas a seguir:
- Abra o console do IAM.
- No painel de navegação, selecione Perfis.
- Pesquise seu perfil do IAM do nó de processamento.
- Selecione o perfil.
- Clique na guia Permissões.
- Verifique se as seguintes políticas gerenciadas estão anexadas:
AmazonEKSWorkerNodePolicy
AmazonEC2ContainerRegistryPullOnly
Observação: se você não usa o IRSA ou o EKS Pod Identity para o CNI da VPC, você também deve anexar a política gerenciada AmazonEKS_CNI_Policy. No entanto, é uma prática recomendada vincular essa política a um perfil separado usado especificamente para o complemento CNI da Amazon VPC.
Para mais informações sobre a criação do perfil do IAM do nó, consulte Perfil do IAM em nós do Amazon EKS.
Configurar a autenticação para nós de processamento
Escolha um dos seguintes métodos para configurar a autenticação:
Usar entradas de acesso
As entradas de acesso são o método recomendado para conceder aos nós de processamento acesso ao seu cluster.
- Abra o console do Amazon EKS.
- No painel de navegação, escolha Clusters.
- Selecione o cluster.
- Escolha a guia Acesso.
- Na seção Entradas de acesso, verifique se existe uma entrada para o ARN do perfil do IAM do nó de processamento.
- Se não existir nenhuma entrada, escolha Criar entrada de acesso.
- Em ARN da entidade principal do IAM, insira o ARN do perfil do IAM do nó de processamento, não o ARN do perfil da instância.
- Em Tipo, escolha EC2 Linux ou EC2 Windows com base no seu tipo de nó.
- Selecione Próximo e, em seguida, clique em Criar.
Para obter mais informações sobre entradas de acesso, consulte Conceder aos usuários do IAM acesso ao Kubernetes com entradas de acesso ao EKS.
Usar aws-auth ConfigMap
Se seu cluster não for compatível com entradas de acesso, use o método aws-auth ConfigMap.
Para mais informações sobre como configurar o aws-auth ConfigMap, consulte Conceder aos usuários do IAM acesso ao Kubernetes com um ConfigMap.
Verificar a configuração de dados do usuário
Para nós autogerenciados, verifique se os dados do usuário incluem o nome e a configuração corretos do cluster.
Os dados do usuário devem incluir o script de bootstrap com o nome do cluster:
#!/bin/bash
/etc/eks/bootstrap.sh my-cluster
Observação: substitua my-cluster pelo nome verdadeiro do seu cluster.
Para mais informações sobre a configuração do script de bootstrap, consulte Node bootstrapping (Processo de bootstrap do nó).
Verificar a conectividade de rede
Conclua as etapas a seguir:
- Verifique se os nós de processamento podem alcançar o endpoint do servidor de API do cluster.
- Para nós em sub-redes públicas, confirme se eles têm endereços IP públicos atribuídos.
- Para nós em sub-redes privadas, verifique se a sub-rede tem uma rota para um gateway NAT.
- Verifique se os grupos de segurança permitem o seguinte tráfego:
Porta 443 para comunicação de API de cluster
Porta 10250 para comunicação kubelet
Porta 53, TCP e UDP, para resolução de DNS
Para mais informações sobre os requisitos de grupos de segurança, consulte Exibir os requisitos para grupos de segurança do Amazon EKS em clusters.
Verificar os endpoints de VPC para clusters privados
Se seu cluster usa endpoints privados, verifique se os seguintes endpoints de VPC existem:
- com.amazonaws.region.ec2
- com.amazonaws.region.ecr.api
- com.amazonaws.region.ecr.dkr
- com.amazonaws.region.s3
- com.amazonaws.region.sts
Para mais informações sobre os requisitos de clusters privados, consulte Implementar clusters privados com acesso limitado à internet.
Verificar a configuração do perfil do cluster
Conclua as etapas a seguir:
- Abra o console do IAM.
- No painel de navegação, selecione Perfis.
- Pesquise seu perfil do IAM do cluster.
- Selecione o perfil.
- Escolha a guia Relações de confiança.
- Verifique se a política de confiança permite que eks.amazonaws.com assuma o perfil.
- Clique na guia Permissões.
- Verifique se a política gerenciada AmazonEKSClusterPolicy está anexada.
Consultar os logs do kubelet
Para consultar os logs do kubelet em um nó de processamento:
-
Conecte-se ao seu nó de processamento usando SSH ou Systems Manager Session Manager.
-
Execute o seguinte comando:
sudo journalctl -u kubelet -f
-
Procure mensagens de erro que indiquem por que o nó não pode ingressar no cluster.
Verificar se o endpoint AWS STS está ativado
Confirme se o endpoint AWS STS da sua região da AWS está ativado em sua conta.
Para mais informações sobre a ativação de endpoints STS, consulte Ativar e desativar o AWS STS em uma Região da AWS.
Verificar a marcação de VPC e sub-rede
Conclua as etapas a seguir:
- Abra o console da Amazon VPC.
- No painel de navegação, selecione Sub-redes.
- Selecione a sub-rede em que seus nós de processamento estão implantados.
- Escolha a guia Tags.
- Verifique se a tag a seguir existe:
Em Key, kubernetes.io/cluster/my-cluster
Em Value, shared ou owned
Observação: substitua my-cluster pelo nome verdadeiro do seu cluster.
Informações relacionadas
Solucionar problemas com clusters e nós do Amazon EKS
Considerações sobre VPC e sub-rede