Wie kann ich feststellen, wann / ob / warum ein Container in einem Kubernetes-Cluster neu gestartet wird?

29

Ich habe einen einzelnen Knoten-Kubernetes-Cluster in der Google Container Engine, mit dem ich herumspielen kann.

Zweimal ist jetzt eine kleine persönliche Website, die ich darin hoste, für ein paar Minuten offline gegangen. Wenn ich die Protokolle des Containers ansehe, wird die normale Startsequenz angezeigt, die kürzlich abgeschlossen wurde. Daher gehe ich davon aus, dass ein Container gestorben ist (oder getötet wurde?) Und neu gestartet wurde.

Wie kann ich herausfinden, wie und warum dies geschieht?

Gibt es eine Möglichkeit, eine Warnung zu erhalten, wenn ein Container unerwartet startet / stoppt?

Marc Hughes
quelle

Antworten:

38

Sie können die Protokolle für den letzten Neustart eines Containers anzeigen, indem Sie Folgendes verwenden:

kubectl logs podname -c containername --previous

Wie von Sreekanth beschrieben, sollte kubectl get pods die Anzahl der Neustarts anzeigen, Sie können aber auch ausführen

kubectl beschreiben pod podname

Außerdem werden Ereignisse angezeigt, die vom Kubelet an den Apiserver gesendet wurden, und zwar über die Ereignisse im Lebenszyklus des Pods.

Sie können auch eine abschließende Nachricht an / dev / ending-log schreiben, die wie in den Dokumenten beschrieben angezeigt wird .

Pieptöne
quelle
10

Neben den vorherigen Antworten gibt es noch einen weiteren Befehl, der mir beim Auffinden eines Fehlers geholfen hat:

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

Es werden auch Ereignisse von Pods, Jobs und Knoten aufgelistet

Maximiliano De Lorenzo
quelle
8

kubectl get pods listet tatsächlich alle Neustarts des Containers auf. Der Befehl describe kann auch hilfreich sein, da er alle mit dem Pod verbundenen Ereignisse auflistet.

Lebensdauer- und Bereitschaftssonden können hier für eine bessere Handhabungsprüfung konfiguriert werden

Zusätzlich können Haken so konfiguriert werden, dass sie an bestimmten Punkten im Lebenszyklus des Container- Checks im Container verbraucht werden

Sreekanth Pothanis
quelle
Bitte erweitern Sie die Links in die Antwort. Ansonsten -1. :)
Konrad Gajewski