Ich habe einen Pod, der in letzter Zeit abzustürzen scheint und kubectl get pods
16 Neustarts anzeigt, aber wenn ich mir die Überwachung ansehe, sind alle Metriken, deren Name „Neustart“ enthält, leer.
Muss ich explizit etwas einschalten, damit dies überwacht wird?
Antwort1
Um Probleme mit einem abstürzenden Pod zu beheben, sollten Sie sich zunächst die Beschreibung ansehen:
$ kubectl describe pod -n ci clair-kube-7c8d8cf949-nlhv8
Containers:
clair:
[...]
State: Running
Started: Wed, 19 Aug 2020 22:06:54 +0200
Last State: Terminated
Reason: OOMKilled
Exit Code: 137
Started: Wed, 19 Aug 2020 13:07:51 +0200
Finished: Wed, 19 Aug 2020 22:06:53 +0200
Ready: True
Restart Count: 42
Hier ist es ziemlich offensichtlich, dass ich mein Containerspeicherlimit erhöhen sollte.
Manchmal wird Ihnen der Grund nicht angezeigt, sondern nur ein Exit-Code. Irgendwann werden Sie lernen, diese zu erkennen. ... Zuerst müssen Sie nach den vorherigen Container-Protokollen suchen:
$ kubectl logs -n ci cassandra-kube-2 -c exporter -p --tail=XX
[...]
Exception in thread "pool-1-thread-33" Exception in thread "pool-1-thread-34" java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: Java heap space