3
respostas

[Bug] Erro na execução do terraform -chdir=env/Homolog apply -auto-approve

Mesmo erro acontece na execução local e remota (github actions). Alguma dica?

╷
│ Error: Unauthorized
│ 
│   with module.prod.kubernetes_service.LoadBalancer,
│   on ../../infra/Provider.tf line 26, in resource "kubernetes_service" "LoadBalancer":
│   26: resource "kubernetes_service" "LoadBalancer" {
│ 
╵
╷
│ Error: waiting for EKS Node Group (homolog2:alura-20240818141638328200000017) create: unexpected state 'CREATE_FAILED', wanted target 'ACTIVE'. last error: subnet-0f465cc2c469c79ab, subnet-04f561c9050374a64, subnet-0de47d2e6b2f4dbc3: Ec2SubnetInvalidConfiguration: One or more Amazon EC2 Subnets of [subnet-0f465cc2c469c79ab, subnet-04f561c9050374a64, subnet-0de47d2e6b2f4dbc3] for node group alura-20240818141638328200000017 does not automatically assign public IP addresses to instances launched into it. If you want your instances to be assigned a public IP address, then you need to enable auto-assign public IP address for the subnet. See IP addressing in VPC guide: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html#subnet-public-ip
│ 
│   with module.prod.module.eks.module.eks_managed_node_group["alura"].aws_eks_node_group.this[0],
│   on .terraform/modules/prod.eks/modules/eks-managed-node-group/main.tf line 389, in resource "aws_eks_node_group" "this":
│  389: resource "aws_eks_node_group" "this" {
│ 
╵
Error: Terraform exited with code 1.
Error: Process completed with exit code 1.
3 respostas

Quando adicionei a diretiva 'map_public_ip_on_launch = true' no módulo vpc (VPC.tf) o segundo erro desapareceu.

Agora ficou esse erro de autorização.

Olá Marcelo.

Tudo bem?

Esse erro Error: Unauthorized indica que há um problema com as credenciais que o Terraform está usando para se conectar ao seu cluster Kubernetes. Verifique os seguintes pontos:

  • Credenciais Kubernetes: Certifique-se de que as credenciais que você está usando têm permissão para criar e gerenciar recursos no Kubernetes. Isso pode ser feito verificando o arquivo kubeconfig ou as variáveis de ambiente usadas para autenticação.
  • Permissões do IAM: Se você estiver usando AWS EKS, verifique se a role IAM associada ao Terraform tem as permissões necessárias para gerenciar recursos no Kubernetes.

Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.

Olá Renan, tudo bem?

Você pode dar mais algum detalhe sobre a questão do EKS?

No caso, estou usando a chave de acesso do usuário raiz que, teoricamente, tem todas as permissões. Como eu posso atribuir mais alguma permissão?

Repositório do workflow: https://github.com/marcelocamacho/github_actions_with_tests.git Repositório da Infra: https://github.com/marcelocamacho/infra_k8s_aws

Agradeço a ajuda.