I checked the logs and the kubernetes Dashboard with Boas Enkler.
No painel do Kubernetes em relação ao status dos PODs, havia as seguintes dicas:
Pod Name: kube-lego-*****-***
Status: Evicted
Reason: The node was low on resource: memory.
Você poderia ter recuperado as mesmas informações por meio de kubectl describe pod [podname]
Observe que citando a documentação : "Se o kubelet não conseguir recuperar recursos suficientes no nó, o kubelet começa a remover os Pods. "
Portanto, eu acreditava que o erro com o Mongodb, uma vez que estava trabalhando no local sem qualquer problema, para verificar novamente, nós passamos pelos logs do Kernel mostrados pela saída serial do console e encontramos:Memory cgroup out of memory: Kill process 4**7 (mongod) score 1494 or sacrifice child
...
Memory cgroup out of memory: Kill process 1**8 (mongod) score 1538 or sacrifice child
Notamos também que não havia campo de solicitação de memória no arquivo YAML da implantação. Isso é um problema, pois pode acontecer que, mesmo que haja três nós sem carga de trabalho, todos os PODs sejam iniciados no mesmo nó, já que teoricamente se encaixam.
Para atenuar esse comportamento, há algumas soluções possíveis:
-
Dimensione verticalmente o cluster e introduza valores de solicitação de memória
-
Instrua o processo do mongodb consumir uma quantidade de memória menor que a Solicitada.
-
A introdução do limite de memória é essencial se você tiver mais contêiner em execução no mesmo nó e quiser evitar que eles sejam mortos por ele. Considere que desta forma ele será morto algumas vezes, mesmo que ainda haja memória disponível no nó.