Warum startet Kubernetes einige Pods neu, andere jedoch nicht?

Warum startet Kubernetes einige Pods neu, andere jedoch nicht?

Wäre jemand so freundlich, mir das Dokument zu zeigen, das das folgende Phänomen erklärt?

Wenn wir ausführen kubectl run --rm --stdin --tty --image hello-world hello-pod, wird es von Kubernetes automatisch neu gestartet. Warum vergisst Kubernetes, es zu löschen?

Gleichzeitig kubectl run --rm --stdin --tty --image busybox busy-podwird es automatisch gelöscht, wenn wir es ausführen (was völlig legitim zu sein scheint).

Jeder Vorschlag ist willkommen. Vielen Dank.

Antwort1

Der Grund, warum der erste Pod neu gestartet wird, ist, dass dort wahrscheinlich ein Fehler vorliegt und Kubernetes ihn immer wieder neu startet, „in der Hoffnung“, dass das Problem dadurch irgendwann gelöst wird. Wenn Sie das ausführen, erhalten Sie einen „CrashLoopBack“, aber dann löscht Kubernetes ihn irgendwann, aber erst nach einer Weile:

kubectl run --rm --stdin --tty --image hello-world hello-pod
pod "hello-pod" deleted
error: timed out waiting for the condition

Kubernetes löscht den zweiten Pod auch, sobald Sie das TTY verlassen (Strg + D). Und der Grund dafür ist, dass der Prozess endet und Sie die Option „--rm“ hinzugefügt haben, die genau das tut – sie löscht Pods automatisch, wenn der Prozess beendet wird, was in diesem Fall nur bedeutet, das Terminal/Bash/die Shell usw. zu verlassen.

verwandte Informationen