2
respostas

Falha ao acessar o INTERNAL-IP na porta 3000

Eu não consegui acessar o serviço pelo ip interno na porta 3000 mapeada manualmente:

o node está ready

NAME       STATUS   ROLES           AGE    VERSION
minikube   Ready    control-plane   156m   v1.27.4

o IP interno do node:

NAME       STATUS   ROLES           AGE    VERSION   INTERNAL-IP      EXTERNAL-IP   OS-IMAGE               KERNEL-VERSION   CONTAINER-RUNTIME
minikube   Ready    control-plane   156m   v1.27.4   192.168.59.100   <none>        Buildroot 2021.02.12   5.10.57          docker://24.0.4

O mapeamento do service:

NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE    SELECTOR
kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP        157m   <none>
svc-pod-1    NodePort    10.107.207.73   <none>        80:30000/TCP   16m    app=primeiro-pod
svc-pod-2    ClusterIP   10.96.142.216   <none>        8080/TCP       26m    app=segundo-pod

Eu estou em uma máquina e configurei o docker/kubernets em um ubuntu server (VM Oracle) em um servidor com diversas outras máquinas virtuais. Liberei a porta 3000 pelo comando ufw allow 3000

O ip do meu servidor: 10.36.100.234

Tentei acessar todos os ips disponiveis sem sucesso:

192.168.59.100:3000 10.36.100.234:3000

2 respostas

Olá Carlos! Tudo ok contigo?

Primeiramente, é importante notar que o Kubernetes usa uma abstração de rede que pode não se comportar da mesma maneira que uma rede tradicional. No seu caso, você está tentando acessar o serviço usando o IP interno do nó e a porta mapeada manualmente. No entanto, o Kubernetes mapeia as portas de maneira diferente.

Pelo que vejo na sua saída, o seu serviço 'svc-pod-1' está exposto na porta 30000 do tipo NodePort. Isso significa que o serviço está acessível na porta 30000 de todos os nós do seu cluster Kubernetes. Portanto, você deve tentar acessar o serviço na porta 30000, e não na porta 3000.

Além disso, o IP interno do seu nó é 192.168.59.100, mas a máquina em que você está tentando acessar o serviço tem o IP 10.36.100.234. Esses IPs estão em redes diferentes, o que pode ser a causa do problema. Você deve garantir que a máquina a partir da qual você está tentando acessar o serviço possa se comunicar com a rede do Kubernetes.

Então, em vez de tentar acessar 192.168.59.100:3000 ou 10.36.100.234:3000, tente acessar 192.168.59.100:30000.

Espero que isso resolva o seu problema. Se não resolver, pode ser necessário verificar as configurações de rede do seu cluster Kubernetes e da sua máquina. Lembre-se, a rede do Kubernetes pode ser um pouco diferente da rede tradicional e pode requerer configurações adicionais para funcionar corretamente.

Era isso. Espero ter ajudado!

Abraços e bons estudos!

Oi renan, obrigado pela resposta.

Na realidade foi uma falha de digitação na hora de colocar a porta de acesso.

Realmente o problema era que a minha máquina virtual configurada no oracle-vm tinha um adaptador de rede no formato bridge (sendo acessada pela minha rede interna) e para isso é necessário fazer uma configuração adicional para que o kubernet se comunique para fora da vm

Segue o artigo mto bem detalhado que utilizei caso mais alguem esteja com o mesmo problema:

https://fabiofernandesx.medium.com/preparing-virtual-box-vms-to-run-kubernetes-a31c7c851566

Abs