Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Localhost não acesssa o node

tô usando o w11 e o docker desktop, pela descrição do professor eu deveria nativamente conseguir acessar o pod pelo ip do node com a porta setada (nodeport) do meu svc, mas quando eu busco localhost:30000 (exemplo da aula) não acessa nada. Os apontamentos entre pod e svc estão corretos e os procedimentos também, mas ao tentar acessar o ip que resulta do kubectl get nodes -o wide não consigo acessar nada. Procurei por respostas o problema está na exposição da porta do meu docker uma vez que eu testei " kubectl port-forward svc/svc-pod-1 30000:80" e o localhost:30000 funcionou. Queria apenas uma luz com relação a essa exposição do docker.Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá amigo.
O bloqueio acontece porque, no Docker Desktop com Kubernetes no Windows, o cluster roda dentro de uma máquina virtual isolada.
Por isso:

  • O NodePort existe e funciona dentro do cluster, mas
  • O IP do node não é diretamente acessível pelo Windows (ou não roteia corretamente para fora da VM).
    Resultado prático:
  • kubectl port-forward funciona porque cria um túnel direto para o seu computador.
  • NodePort falha porque depende de rede externa da VM do Kubernetes, que o Docker Desktop nem sempre expõe corretamente para o host.
    Em resumo, o problema não é o Service nem o Pod, é a camada de rede do Docker Desktop que impede acesso externo ao NodePort.
    Para lhe dar uma resposta mais precisa mostre a saida dos comandos abaixo:
kubectl get svc
kubectl get nodes -o wide
kubectl describe svc svc-pod-1

Assim fica mais fácil identificar exatamente onde está o bloqueio.
Avise alguma duvida.
Bons estudos.