Ir para o conteúdo

Como posso fazer os meus nós de processamento ingressarem no meu cluster do Amazon EKS?

6 minuto de leitura
0

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:

  1. Abra o console da Amazon Virtual Private Cloud (Amazon VPC).
  2. No painel de navegação, selecione Suas VPCs.
  3. Selecione sua VPC.
  4. Escolha Ações e, em seguida, Editar configurações de VPC.
  5. 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.
  6. No painel de navegação, selecione Conjuntos de opções de DHCP.
  7. Selecione seu conjunto de opções de DHCP.
  8. 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:

  1. Abra o console do IAM.
  2. No painel de navegação, selecione Perfis.
  3. Pesquise seu perfil do IAM do nó de processamento.
  4. Selecione o perfil.
  5. Clique na guia Permissões.
  6. 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.

  1. Abra o console do Amazon EKS.
  2. No painel de navegação, escolha Clusters.
  3. Selecione o cluster.
  4. Escolha a guia Acesso.
  5. Na seção Entradas de acesso, verifique se existe uma entrada para o ARN do perfil do IAM do nó de processamento.
  6. Se não existir nenhuma entrada, escolha Criar entrada de acesso.
  7. 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.
  8. Em Tipo, escolha EC2 Linux ou EC2 Windows com base no seu tipo de nó.
  9. 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:

  1. Verifique se os nós de processamento podem alcançar o endpoint do servidor de API do cluster.
  2. Para nós em sub-redes públicas, confirme se eles têm endereços IP públicos atribuídos.
  3. Para nós em sub-redes privadas, verifique se a sub-rede tem uma rota para um gateway NAT.
  4. 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:

  1. Abra o console do IAM.
  2. No painel de navegação, selecione Perfis.
  3. Pesquise seu perfil do IAM do cluster.
  4. Selecione o perfil.
  5. Escolha a guia Relações de confiança.
  6. Verifique se a política de confiança permite que eks.amazonaws.com assuma o perfil.
  7. Clique na guia Permissões.
  8. 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:

  1. Conecte-se ao seu nó de processamento usando SSH ou Systems Manager Session Manager.

  2. Execute o seguinte comando:

    sudo journalctl -u kubelet -f
  3. 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:

  1. Abra o console da Amazon VPC.
  2. No painel de navegação, selecione Sub-redes.
  3. Selecione a sub-rede em que seus nós de processamento estão implantados.
  4. Escolha a guia Tags.
  5. 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

AWS OFICIALAtualizada há 5 meses