1
resposta

Não consigo subir os nodes

Amigos, preciso de ajuda.
Não fui capaz de subir os nodes dentro do cluster, procurei entender como a versão 1.34 é utilizada para aplicar da forma correta, porém não encontrei o que pode estar dando errado.

Segue o link do meu github para caso queiram dar uma olhada nos códigos: https://github.com/omateusvalente/alura-iac-aws-eks

O erro que estou tomando é esse abaixo, similar a que um colega tomou.

│ Error: Failed to create deployment: Post "https://869B48EE769A4FA0F66E14434156A1F4.sk1.sa-east-1.eks.amazonaws.com/apis/apps/v1/namespaces/default/deployments": dial tcp 10.0.3.225:443: i/o timeout

│ with module.Producao.kubernetes_deployment.Django-API,
│ on ../../Infra/Kubernets.tf line 1, in resource "kubernetes_deployment" "Django-API":
│ 1: resource "kubernetes_deployment" "Django-API" {



│ Error: Post "https://869B48EE769A4FA0F66E14434156A1F4.sk1.sa-east-1.eks.amazonaws.com/api/v1/namespaces/default/services": dial tcp 10.0.3.225:443: i/o timeout

│ with module.Producao.kubernetes_service.LoadBalancer,
│ on ../../Infra/Kubernets.tf line 56, in resource "kubernetes_service" "LoadBalancer":
│ 56: resource "kubernetes_service" "LoadBalancer" {



│ Error: waiting for EKS Node Group (producao:alura-2025100921131777870000000f) create: unexpected state 'CREATE_FAILED', wanted target 'ACTIVE'. last error: i-08b50a880acba1d1f: NodeCreationFailure: Unhealthy nodes in the kubernetes cluster

│ with module.Producao.module.eks.module.eks_managed_node_group["alura"].aws_eks_node_group.this[0],
│ on .terraform/modules/Producao.eks/modules/eks-managed-node-group/main.tf line 447, in resource "aws_eks_node_group" "this":
│ 447: resource "aws_eks_node_group" "this" {

https://github.com/omateusvalente/alura-iac-aws-eks

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Ola Mateus.
Esses sintomas apontam para algum (ou vários) dos seguintes problemas:

  • Problemas de rede / conectividade entre os nós e o plano de controle (control plane)
  • Configuração de bootstrap / userdata incorreta, que impede que o nó registre no cluster
  • Funções / permissões IAM faltando ou mal configuradas
  • Problemas com CNI / plugin de rede não inicializando
  • Problemas de configuração de sub-redes / rotas / NAT / endereçamento DNS / DHCP

Aqui vão alguns passos práticos para você investigar:

  • Verificar logs dos nós / eventos Kubernetes
  • Se algum nó chegou a aparecer no cluster (mesmo que como NotReady), faça kubectl describe node e veja os eventos. Veja também kubectl get events.
  • Verifique se há mensagens como NetworkPluginNotReady, cni config uninitialized, etc.
  • Verifique os logs do daemon kubelet no nó (se conseguir conectar por SSH ou utilizando ferramentas de logs da AWS).
  • Verificar se o bootstrap script / userdata está correto

Se você estiver usando managed node group (ou até mesmo self-managed com userdata), o nó precisa executar um script que saiba qual cluster se juntar, qual CA usar, etc.
Por exemplo, com EKS clássico (Amazon Linux 2), costuma-se usar algo como:

/etc/eks/bootstrap.sh nome-do-cluster

Se seu userdata/script não estiver corretamente apontando para o nome do cluster, ou estiver quebrado, os nós nunca “registram”.
Certifique-se de que o role atribuído aos nós (no Node Group) está autorizado ao cluster via aws-auth ConfigMap (ou mecanismo equivalente).
Se esse mapeamento for removido ou estiver errado, o nó pode não conseguir autenticar.
Verifique se as políticas necessárias (incluindo para CNI, interações com EC2, VPC) estão aplicadas.
Se os nós estiverem em sub-redes privadas, precisa haver rota para NAT / gateway para que saiam à internet (para puxar imagens, acessos, etc.) : se algo estiver bloqueando isso, o bootstrap ou outros componentes podem falhar.
O VPC deve ter configuração DNS / domain-name / domain-name-servers adequadas no DHCP options set, permitindo que os nós possam resolver nomes internos como .compute.internal.
Se esses atributos estiverem ausentes/faltando, os nós podem enfrentar node "" not found ou outras falhas de DNS no kubelet.
Verifique se as regras de segurança (Security Groups) permitem que os nós se comuniquem com o endpoint da API (porta 443) e entre si conforme necessário.
O plugin de rede (AWS VPC CNI ou outro que você use) precisa estar presente nos nós. Se o aws-node daemonset falhar, os pods ficam sem rede e o nó fica “incompleto”.
Verifique se o addon aws-node está instalado e saudável no cluster, e se os pods aws-node nos nós novos estão rodando.

Faça a verificação ai e avise os resultados.
Bons estudos.