Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Microservices de pagamentos e pedidos não conseguem se mantem no ar

Os microservices de pedidos e pagamentos não conseguem se manter no ar, o professor passou pelo mesmo problema no inicio do curso, no caso dele era problema de Out Of Memory, ele aumentou a memória do minikube e funcionou, mas o meu não funcionou

Eu continuei, segui o curso mesmo assim, acompanhei o professor em tudo, cheguei no final do curso, e pedidos e pagamentos continuam não se mantendo no ar

Além disso, no Eureka só aparece o gateway, e as requests para o gateway nos endpoints /pedidos-ms/pedidose /pagamentos-ms/pagamentos resultam em erro 404 Not Found

A única coisa que eu fiz diferente do professor, foi que eu não subi as imagens pro dockerhub, eu não fiz o push pro dockerhub, eu carreguei as imagens que tinha gerando localmente pro minikube com minikube image load

Decidi então utilizar as imagens que o professor subiu no dockerhub pra ver se funcionava, apontei a imagem do professor nos meus arquivos do k8s , com a versão... e mesmo assim pedidos e pagamentos não conseguiram se manter no ar, e nesse caso, até os loadbalancers pararam de funcionar (sim, eu rodei minikube tunnel --bind-address=IPLOCAL), pois Eureka e gateway se tornaram inacessiveis... Antes, eu pelo menos conseguia mandar requests pro gateway, e acessar o Eureka...

Fui para a última tentativa, eu derrubei tudo, recriei tudo do zero com os arquivos do projeto final que a Alura disponibilizou no fim do curso, e agora sim todos os microserviços conseguem se manter no ar, a única questão é os loadbalancers... eles continuam inacessiveis...

Uma coisa que eu tentei fazer para resolver o problema dos loadbalancers, foi ver a solução do colega: https://cursos.alura.com.br/forum/topico-eu-nao-consegui-abrir-o-eureka-na-minha-maquina-474124 Ele estava passando pelo mesmo problema que eu, mas a solução não me ajudou, eu derrubei tudo, recriei com minikube start --driver=docker, rodei apenas um minikube tunnel, mas o host 127.0.0.1:8081 não ainda consegue ser resolvido...

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas
solução!

Olá, Arthur!

Vamos tentar algumas abordagens para resolver isso.

  1. Verifique o Minikube Tunnel: Certifique-se de que o minikube tunnel está rodando corretamente. Ele é necessário para que os serviços LoadBalancer funcionem. Tente rodar o comando minikube tunnel em um terminal separado e veja se há alguma mensagem de erro.

  2. Verifique os Logs dos Pods: Use o comando kubectl logs <nome-do-pod> para verificar os logs dos seus microserviços. Isso pode te dar uma ideia do que está acontecendo com os serviços de pedidos e pagamentos.

  3. Verifique o Status dos Pods e Serviços: Use kubectl get pods e kubectl get services para verificar se todos os pods e serviços estão rodando como esperado. Veja se os serviços estão expondo as portas corretas.

  4. Firewall e Proxy: Como a mensagem de erro sugere, verifique se há algum firewall ou configuração de proxy que possa estar bloqueando o acesso. Isso pode ser feito nas configurações de rede do seu sistema operacional.

  5. Recriar o Ambiente: Já que você conseguiu fazer os serviços rodarem ao recriar o ambiente, pode ser uma boa ideia refazer esse processo, mas prestando atenção em cada etapa para identificar onde o problema está ocorrendo.

  6. Verifique as Configurações de Rede do Minikube: Às vezes, o driver do Minikube pode causar problemas. Tente usar um driver diferente, como virtualbox ou hyperkit, se possível.

Bons estudos!

Consegui resolver!! O problema era que no meu app.yaml , eu estava colocando SERVER_HOST, quando era pra estar DB_HOST...

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Depois de arrumar isso, os microservices de pagamentos e pedidos conseguiram se manter no ar

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Consequentemente começaram a aparecer no Eureka

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

E consequentemente ficaram disponiveis para o gateway fazer request

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade