Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Acesso externo através da EC2

Estou fazendo alguns testes usando uma VM da AWS com o Kubernetes. Como o Minikube tem um IP interno, como descrito na aula, não consigo acessar externamente. Já tentei liberar as portas do serviço mas ainda assim não consigo acesso, pois precisaria que a página acessasse externamente.

Existe alguma configuração que precise fazer para acessar usando o minikube ou devo trocar de ferramenta para disponibilizar a aplicação para o público externo?

1 resposta
solução!

Bom dia,

O Minikube não foi pensado para exposição pública. Ele cria um cluster Kubernetes local, com IP privado, mesmo quando está rodando dentro de uma VM na AWS. Quando você cria um Service do tipo NodePort, o Kubernetes até expõe a porta no nó, mas esse nó é a VM interna do Minikube. O IP que ele usa não é o IP público da EC2, então o tráfego externo simplesmente não chega até o cluster. Por isso, liberar portas no Service não resolve o problema.

É até possível acessar externamente usando Minikube, mas isso entra mais no campo de testes e laboratório. Port-forwarding funciona apenas enquanto o comando está rodando e não serve para acesso público real. Rodar o Minikube com driver “none” faz ele usar a própria EC2 como nó, mas exige mais configuração, permissões elevadas e ainda foge do padrão de produção. O comando minikube tunnel pode ajudar em alguns casos com LoadBalancer, mas em EC2 costuma ser instável e não é o foco do curso.

O que o curso espera que você aprenda nessa aula não é publicar uma aplicação real na internet, e sim entender como funcionam Services, NodePort e o caminho do tráfego até um Pod. Por isso o exemplo funciona em ambiente local, mas não resolve um cenário real de exposição externa.

Se a sua intenção for disponibilizar a aplicação para acesso público de verdade, aí sim o caminho muda. Nesse caso, vale usar um cluster mais próximo de produção, como EKS ou até k3s rodando direto na EC2, usando Service do tipo LoadBalancer ou um Ingress com controller. Esse tipo de setup reflete muito melhor o que acontece em ambientes reais.
Abraços