1
resposta

Timeout em requisição entre pods e ClusterIP

Estou tentando criar um ambiente com mais de uma aplicação em um cluster e pra isso criei dois projetos um com um svc LoadBalancer (ms-payment) e outro com um ClusterIP (ms-fraud), ambos com uma imagem do nginx só pra testar.

Porem, depois de subir os services e deployments, não consigo fazer de dentro de um pod do ms-payment um "curl ms-fraud-cluster-ip:9000" por exemplo, sempre recebo timeout

Existe alguma outra config no cluster que preciso colocar pra permitir a comunicação entre um pod e um service de dentro do cluster

Esses são meus deployments e services

https://github.com/lukkas-lukkas/project-x-ms-payment/tree/pods_nginx_only/kubernetes https://github.com/lukkas-lukkas/project-x-ms-fraud/tree/pods_with_nginx/kubernetes

1 resposta

Olá, Lucas.

Tudo bem?

Desculpa a demora, estou respondendo esse tópico para tentar ajudar você e outros alunos que estiverem com essa mesma dúvida, e também para organizar o nosso fórum. Valeu :)

Pelo que entendi, você está enfrentando problemas de timeout ao tentar fazer uma requisição entre os pods do ms-payment e ms-fraud no seu cluster Kubernetes.

Verifiquei os arquivos de deployment e service que você compartilhou e notei que você está usando o ClusterIP para o serviço ms-fraud. O ClusterIP é um endereço IP interno que permite a comunicação entre os pods dentro do cluster, mas não é acessível externamente.

Para permitir a comunicação entre os pods do ms-payment e ms-fraud, você pode usar o nome do serviço como hostname no comando curl. Por exemplo, em vez de usar "curl ms-fraud-cluster-ip:9000", você pode usar "curl ms-fraud:9000". O Kubernetes irá resolver o nome do serviço para o endereço IP interno correto.

Além disso, verifique se os pods estão rodando corretamente e se não há nenhum problema de configuração nos deployments e services. Você pode usar o comando "kubectl get pods" para verificar o estado dos pods e o comando "kubectl describe pod " para obter mais informações sobre um pod específico.

Caso o problema persista, verifique se não há nenhuma política de rede restritiva que esteja bloqueando a comunicação entre os pods. Você pode verificar isso consultando a documentação do seu provedor de nuvem ou a configuração da rede no seu cluster.

Espero que essas dicas possam ajudar a resolver o seu problema. Se tiver mais alguma dúvida, é só me dizer!

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software