2
respostas

[Dúvida] Minikube no MacOS nao consegue fazer comunicacao entre servicos usando o DNS

Dúvida: Teoricamente, o kubernetes provê um dns usando o nome dos recursos, seja, devo ser capaz de acessar svc-admin:80 intra-cluster e de fato, isso funciona:

kubectl exec -it portal-noticias -- bash
curl svc-admin:80

Me retorna corretamente o documento php, mas quando acesso o portal pela web, aparentemente isso não funciona.

Imagino que tenha algo a ver com o minikube no macOs exigir um minikube service <service-name> para iniciar o service, aí sim atribuíndo a ele um ip acessível. Mas ainda é esquisito, pois funciona de dentro do pod, mas quando acesso na web, não

2 respostas

Na documentação do minikube, encontrei o problema:

DNS resolution (experimental) If you are on macOS, the tunnel command also allows DNS resolution for Kubernetes services from the host. NOTE: docker driver doesn’t support DNS resolution

Usar um driver diferente, como VirtualBox ou HyperKit (no meu caso, por ser um Mac intel) aparentemente resolve o problema

curl 'svc-admin:80/noticias.php' \
  -H 'Accept: */*' \
  -H 'Referer: http://192.168.64.2:30000/' \
  -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36'

Mesma coisa, dentro do container, funciona.

Oii, Kauê, tudo bem?

Obrigada por compartilhar com a gente aqui a sua solução! \o/

Se alguma dúvida surgir, estamos disponíveis.

Abraços!