Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Pods com muitos restarts

Boa tarde pessoal, Num cenário percebemos que uma API utilizada por várias aplicações tem muitos restarts quando fazemos um get pods. É um deployment de uma réplica somente, sem HPA. Este seria um cenário de uso de HPA? Achamos que por receber muitas requisições ela restarta sozinha.

Obrigado desde já

1 resposta
solução!

Os casos mais comuns são:

  • Finalização a execução do processo principal do container (entrypoint), por falha ou por resultado do processo da aplicação mesmo;
  • Tem probes configuradas no deployment (mais especificamente readiness e liveness) e a aplicação não responder ao kubernetes de forma que satisfaça as condições das probes (não responde com o código correto no endpoint e porta, ou não responde no tempo máximo configurado nas probes...); e
  • Falta de recursos, CPU e memória, ou no nó que o pod esta rodando ou nas configurações de limites no deployment. Falta de recursos também podem causar as duas situações anteriores.

Se a API recebe quantidades de requisições diferentes em diferentes momentos do dia ou situações, é interessante sim utilizar HPA, pode ser que durante o pico, falte recursos. Caso seja constante a quantidade de requisições, o HPA não trará prejuízo, mas, se o problema for falta de recursos, a solução mais simples é aumentar o número de réplicas ou de recursos.

Um ponto importante sobre utilizar mais de uma réplica (que é o caso de uso que faz sentido usar HPA): a aplicação precisa ser capaz de funcionar com réplicas concorrentes!