Kubernetes が一部のポッドを再起動し、別のポッドを再起動しないのはなぜですか?

Kubernetes が一部のポッドを再起動し、別のポッドを再起動しないのはなぜですか?

以下の現象を説明している文書を教えていただけませんか?

を実行するとkubectl run --rm --stdin --tty --image hello-world hello-pod、Kubernetes によって自動的に再起動されます。Kubernetes がそれを削除し忘れるのはなぜでしょうか?

同時に、 を実行するとkubectl run --rm --stdin --tty --image busybox busy-pod、自動的に削除されます (これはかなり正当なようです)。

ご提案があればぜひお願いします。ありがとうございます。

答え1

最初のポッドが再起動される理由は、おそらくそこにエラーがあり、Kubernetes が「最終的に問題が解決することを期待して」再起動を続けているためです。これを実行すると、「CrashLoopBack」が発生しますが、Kubernetes は最終的にそれを削除しますが、しばらくしてからになります。

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

Kubernetes は、tty を終了した瞬間 (ctrl + D) に 2 番目のポッドも削除します。その理由は、プロセスが終了し、まさにそれを実行する '--rm' オプションを追加したためです。つまり、プロセスが終了するとポッドが自動的に削除されます。この場合、それはターミナル/bash/シェルなどを終了することを意味します。

関連情報