AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
Por que não consigo me conectar ao meu cluster do Amazon EKS?
Criei um cluster do Amazon Elastic Kubernetes Service (Amazon EKS), mas não consigo me conectar a ele.
Breve descrição
Talvez você não consiga se conectar ao seu cluster do Amazon EKS por um dos seguintes motivos:
- Você não criou o arquivo kubeconfig para o seu cluster.
- Não é possível conectar-se ao endpoint do servidor de APIs do Amazon EKS.
Resolução
Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Você não criou o arquivo kubeconfig
Depois de criar seu cluster do Amazon EKS, configure seu arquivo kubeconfig para que seja possível usar a linha de comandos kubectl para se conectar ao seu cluster. O arquivo kubeconfig contém sua configuração de cluster do Kubernetes.
Com base no seu sistema operacional (SO), é possível encontrar seu arquivo kubeconfig nos seguintes locais:
- Para Linux ou macOS, acesse $HOME/.kube/config.
- Para Windows, acesse %USERPROFILE%\.kube\config.
Para usar um local de arquivo diferente, execute uma das seguintes ações:
- Defina a variável de ambiente KUBECONFIG para apontar para o novo local.
- Use a sinalização --kubeconfig ao executar os comandos kubectl para especificar um caminho de arquivo personalizado.
Se um arquivo kubeconfig já existir no local padrão, o Amazon EKS mesclará novas configurações com o arquivo existente. É possível usar o comando kubectl config para gerenciar seus contextos de cluster. Para obter mais informações, consulte kubectl config no site do Kubernetes.
Não é possível conectar-se ao endpoint do servidor de APIs do Amazon EKS
Para solucionar esse problema, conclua as seguintes etapas:
-
Para verificar se é possível se conectar à URL do servidor de API do Amazon EKS, execute o seguinte comando com maior detalhamento:
kubectl get svc --v=9A saída do comando mostra informações detalhadas da conexão, incluindo a URL do servidor de API que sua conexão usa. Verifique os endereços IP listados para HTTP Trace: Pesquisa de DNS.
Exemplo de saída:I0110 16:43:36.920095 48173 loader.go:373] Config loaded from file: /Users/abs/.kube/configI0110 16:43:36.936844 48173 round_trippers.go:466] curl -v -XGET -H "Accept: application/json;as=Table;v=v1;g=meta.k8s.io,application/json;as=Table;v=v1beta1;g=meta.k8s.io,application/json" -H "User-Agent: kubectl/v1.26.0 (darwin/arm64) kubernetes/b46a3f8" 'https://S123GBNS3HJUFN467UFGH6782JHCH2891.yl4.us-east-2.eks.amazonaws.com//api/v1/namespaces/default/services?limit=500' I0110 16:43:37.362185 48173 round_trippers.go:495] HTTP Trace: DNS Lookup for S123GBNS3HJUFN467UFGH6782JHCH2891.yl4.us-east-2.eks.amazonaws.com/ resolved to [{18.119.155.77 } {3.136.153.3 }] I0110 16:43:37.402538 48173 round_trippers.go:510] HTTP Trace: Dial to tcp:18.119.155.77:443 succeed I0110 16:43:37.500276 48173 round_trippers.go:553] GET https://S123GBNS3HJUFN467UFGH6782JHCH2891.yl4.us-east-2.eks.amazonaws.com//api/v1/namespaces/default/services?limit=500 200 OK in 563 milliseconds I0110 16:43:37.500302 48173 round_trippers.go:570] HTTP Statistics: DNSLookup 1 ms Dial 40 ms TLSHandshake 44 ms ServerProcessing 52 ms Duration 563 ms I0110 16:43:37.500308 48173 round_trippers.go:577] Response Headers: I0110 16:43:37.500316 48173 round_trippers.go:580] Audit-Id: 37c17136-7fa7-40e9-8fe6-b24426e81564 I0110 16:43:37.500323 48173 round_trippers.go:580] Cache-Control: no-cache, private I0110 16:43:37.500329 48173 round_trippers.go:580] Content-Type: application/json I0110 16:43:37.500334 48173 round_trippers.go:580] X-Kubernetes-Pf-Flowschema-Uid: 508eb99e-d99b-44db-8ade-838c99fe8e9f I0110 16:43:37.500340 48173 round_trippers.go:580] X-Kubernetes-Pf-Prioritylevel-Uid: d324d3db-05ce-441b-a0ff-c31cbe8f696c I0110 16:43:37.500345 48173 round_trippers.go:580] Date: Tue, 10 Jan 2023 21:43:37 GMT -
Para verificar se o servidor de API do Amazon EKS está acessível publicamente, execute o seguinte comando describe-cluster da AWS CLI:
aws eks describe-cluster --name cluster_name --region example_region --query cluster.resourcesVpcConfigObservação: Substitua cluster_name pelo nome do seu cluster e example_region pela sua região da AWS.
Exemplo de saída:{ "subnetIds": [ "subnet-abc1", "subnet-abc2", "subnet-abc3", "subnet-abc4", "subnet-abc5", "subnet-abc6" ], "securityGroupIds": [ "sg-abc7" ], "clusterSecurityGroupId": "sg-abc7", "vpcId": "vpc-abc9", "endpointPublicAccess": true, "endpointPrivateAccess": false, "publicAccessCidrs": [ "0.0.0.0/0" ] }Para permitir o acesso público, certifique-se de que endpointPublicAccess seja verdadeiro. Para manter o acesso privado, certifique-se de que endpointPublicAccess seja falso. Se endpointPublicAccess for falso, vá para a etapa 9. Se o endpointPublicAccess for verdadeiro, é uma prática recomendada de segurança limitar o endpointPublicAccess a intervalos específicos de endereços IP. Conclua as etapas 3 a 8 para adicionar seus endereços IP permitidos à lista de permissões publicAccessCidrs.
-
Abra o console do Amazon EKS.
-
Selecione Clusters e selecione o cluster que você deseja atualizar.
-
Selecione a guia Rede e depois clique em Gerenciar redes.
-
Selecione Público.
-
Em Configurações avançadas, em bloco CIDR, insira o intervalo de CIDR público que você deseja adicionar à lista de permissões.
Importante: Inclua o endereço IP do gateway NAT que os nós de processamento em suas sub-redes privadas usam para acessar a internet. Além disso, inclua os endereços IP de todos os componentes de rede do dispositivo NAT. -
Selecione Salvar alterações.
-
Se você configurou o servidor de API do cluster no modo somente privado, verifique se a solicitação kubectl vem da rede do cluster. Se sua solicitação kubectl for de fora da sua Amazon Virtual Private Cloud (Amazon VPC), você receberá o seguinte erro de tempo limite ao executar o comando get svc:
$ kubectl get svc --v=9I0110 17:15:58.889798 50514 loader.go:373] Config loaded from file: /Users/example-user/.kube/config I0110 17:15:58.896715 50514 round_trippers.go:466] curl -v -XGET -H "Accept: application/json;as=Table;v=v1;g=meta.k8s.io,application/json;as=Table;v=v1beta1;g=meta.k8s.io,application/json" -H "User-Agent: kubectl/v1.26.0 (darwin/arm64) kubernetes/b46a3f8" 'https://S123GBNS3HJUFN467UFGH6782JHCH2891.yl4.us-east-2.eks.amazonaws.com/api/v1/namespaces/default/services?limit=500' I0110 17:15:59.374499 50514 round_trippers.go:495] HTTP Trace: DNS Lookup for S123GBNS3HJUFN467UFGH6782JHCH2891.yl4.us-east-2.eks.amazonaws.com resolved to [{192.168.126.17 } {192.168.144.26 }] I0110 17:16:14.285027 50514 round_trippers.go:508] HTTP Trace: Dial to tcp:192.168.126.17:443 failed: dial tcp 192.168.126.17:443: i/o timeout I0110 17:16:29.191768 50514 round_trippers.go:508] HTTP Trace: Dial to tcp:192.168.144.26:443 failed: dial tcp 192.168.144.26:443: i/o timeout I0110 17:16:29.196959 50514 round_trippers.go:553] GET https://S123GBNS3HJUFN467UFGH6782JHCH2891.yl4.us-east-2.eks.amazonaws.com/api/v1/namespaces/default/services?limit=500 in 30300 milliseconds I0110 17:16:29.197724 50514 round_trippers.go:570] HTTP Statistics: DNSLookup 183 ms Dial 14906 ms TLSHandshake 0 ms Duration 30300 ms I0110 17:16:29.197768 50514 round_trippers.go:577] Response Headers: I0110 17:16:29.199254 50514 helpers.go:264] Connection error: Get https://S123GBNS3HJUFN467UFGH6782JHCH2891.yl4.us-east-2.eks.amazonaws.com/api/v1/namespaces/default/services?limit=500: dial tcp 192.168.126.17:443: i/o timeout Unable to connect to the server: dial tcp 192.168.126.17:443: i/o timeout -
Atualize o grupo de segurança do cluster para adicionar o endereço IP de origem ou o intervalo CIDR à sua lista de permissões. Isso permite que o cliente kubectl se conecte ao endpoint do servidor de API do Amazon EKS de dentro da VPC do cluster.
Informações relacionadas
Solucionar problemas com clusters e nós do Amazon EKS
Como resolvo o erro quando me conecto ao servidor de APIs do Amazon EKS?"You must be logged in to the server (Unauthorized)"
De-mystifying cluster networking for Amazon EKS worker nodes [Desmistificando a rede de clusters para nós de processamento do Amazon EKS]
Como faço para bloquear o acesso à API de endereços IP específicos no meu cluster do Amazon EKS?
- Tópicos
- Containers
- Idioma
- Português
Vídeos relacionados


Conteúdo relevante
- feita há 3 meses
- feita há 10 meses
AWS OFICIALAtualizada há 6 meses
AWS OFICIALAtualizada há 3 anos
AWS OFICIALAtualizada há 8 meses