Jak powiedzieć, kiedy / jeśli / dlaczego pojemnik w klastrze kubernetes uruchamia się ponownie?

29

Mam klaster kubernetes z jednym węzłem w silniku kontenerowym Google do zabawy.

Dwa razy teraz mała osobista witryna internetowa, którą prowadzę, przestała działać na kilka minut. Gdy przeglądam dzienniki kontenera, widzę ostatnio zakończoną normalną sekwencję uruchamiania, więc zakładam, że kontener zmarł (lub został zabity?) I uruchomił się ponownie.

Jak mogę dowiedzieć się, jak i dlaczego to się dzieje?

Czy istnieje sposób na otrzymanie ostrzeżenia za każdym razem, gdy pojemnik niespodziewanie uruchamia się / zatrzymuje?

Marc Hughes
źródło

Odpowiedzi:

38

Możesz wyświetlić ostatnie dzienniki ponownego uruchomienia kontenera, używając:

kubectl logs podname -c nazwa_konfiguracji - poprzednia

Jak opisano w Sreekanth, kubectl get strąki powinny pokazywać liczbę ponownych uruchomień, ale możesz także uruchomić

kubectl opisuje pod podname

I pokaże ci wydarzenia wysłane przez kubelet do apiserver o cyklach życia kapsuły.

Możesz także napisać końcową wiadomość do / dev / termination-log, a wyświetli się ona zgodnie z opisem w dokumentacji .

sygnały dźwiękowe
źródło
10

Oprócz poprzednich odpowiedzi innym poleceniem, które pomogło mi znaleźć błąd, jest:

kubectl get event [--namespace=my-namespace]

Wymienia również zdarzenia z zasobników, zadań, węzłów

Maximiliano De Lorenzo
źródło
8

kubectl get str faktycznie wyświetli listę wszystkich restartów kontenera, a komenda opisu może być pomocna, ponieważ wyświetla wszystkie zdarzenia związane z zasobnikiem.

Sondy aktywności i sondy gotowości można skonfigurować w celu lepszego sprawdzania obsługi tutaj

Dodatkowo haki mogą być skonfigurowane tak, aby być spożywane w pojemniku w punktach określonych w cyklu życiowym pojemnika czeku tutaj

Sreekanth Pothanis
źródło
Rozwiń łącza do odpowiedzi. W przeciwnym razie -1. :)
Konrad Gajewski