
以下の現象を説明している文書を教えていただけませんか?
を実行すると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/シェルなどを終了することを意味します。