Boa tarde,
Estou com pod rodando e o service também, mas ao botar o ip da maquina e a porta, da como sem acesso na pagina.
Boa tarde,
Estou com pod rodando e o service também, mas ao botar o ip da maquina e a porta, da como sem acesso na pagina.
Oi, Naefferson!
Vendo o seu print, notei que você está em um ambiente Linux (pelo prompt root@kubernets). Se você estiver utilizando o Minikube, o comportamento do NodePort tem algumas particularidades.
Pontos que precisamos conferir para resolver isso:
Diferente do Docker tradicional no Windows ou Mac, onde o localhost costuma funcionar bem, no Linux com Minikube o serviço é exposto no IP do próprio nó (a máquina virtual/container onde o Kubernetes roda).
Tente os seguintes passos:
minikube iphttp://192.168.49.2:30000Se o acesso pelo IP não funcionar diretamente, o Minikube oferece um comando que cria uma rota direta para o serviço:
minikube service svc-portal-noticias
Este comando costuma abrir automaticamente o navegador com o endereço e a porta correta já mapeados.
No seu print, o serviço servicepod1 está criado, mas o Pod que aparece listado se chama portalalura-6fbb4869cf-plpnl. É fundamental que o selector dentro do seu arquivo svc-portal-noticias.yaml seja exatamente igual à label que está no arquivo do Pod.
Confira se no seu YAML do Pod existe isto:
metadata:
labels:
app: portal-noticias
E se no YAML do Service o seletor está idêntico:
spec:
selector:
app: portal-noticias
Se houver qualquer diferença (como uma letra maiúscula ou um espaço), o serviço não encontrará o Pod e a página não carregará.
Para ter certeza de que o serviço encontrou o Pod, você pode rodar:kubectl describe svc svc-portal-noticias
Procure pela linha que diz Endpoints. Se ela estiver vazia ou como <none>, significa que o seletor está errado. Se aparecer um IP e a porta 80, a comunicação interna está certa e o problema é apenas o endereço que você está usando no navegador.