ポッド内のコンテナガベージコレクションに関する質問があります。私は主なコンテナとサイドカーをポッドに入れて運んでいます。メインコンテナは終わってもサイドカーはまだ動いている。 Kubernetesは主容器をガベージで回収しますか?サイドカーが終了するまでメイン容器がガベージコレクションされないことを保証できますか?そうでない場合は、これを達成する方法がありますか?Kubernetesのコンテナガベージコレクション
MaxPerPodContainerフラグはこれとどのように関連していますか?
ポッド内のコンテナガベージコレクションに関する質問があります。私は主なコンテナとサイドカーをポッドに入れて運んでいます。メインコンテナは終わってもサイドカーはまだ動いている。 Kubernetesは主容器をガベージで回収しますか?サイドカーが終了するまでメイン容器がガベージコレクションされないことを保証できますか?そうでない場合は、これを達成する方法がありますか?Kubernetesのコンテナガベージコレクション
MaxPerPodContainerフラグはこれとどのように関連していますか?
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policyから:
A PodSpecは、可能な値
Always
、OnFailure
、およびNever
でrestartPolicy
フィールドを持っています。デフォルト値はAlways
です。restartPolicy
は、ポッド内のすべてのコンテナに適用されます。
restartPolicy: Never
:1つの容器が終了した場合、他のすべてのコンテナがrestartPolicy: OnFailure
実行し続けます:1つのコンテナは、エラー状態で終了した場合、実際には
これはポッドために、次のことを意味しますそのコンテナが再起動されます。クリーンに終了すると(完了すると)、コンテナは再起動されません。どちらの場合も、他のコンテナは動作し続けます。すべてのコンテナがきれいに終了すると、PodはCompleted状態になり、そのまま維持されます。
restartPolicy: Always
:1つの容器は、エラー状態で終了した場合、そのコンテナはしかし、あなたが最も可能性の高いポッドテンプレートにrestartPolicy: OnFailure
を義務付け展開を、使用しているを再起動されます。これは、コンテナが終了した場合、そのコンテナが再起動されることを意味します。数分間だけ動作するコンテナを持つことはできません。
何をしようとしているかによって、initContainers
は解決策になるかもしれません。
たぶん、このようなポッドで少し実験:
kind: Pod
metadata:
name: busybox
spec:
restartPolicy: Always
containers:
- name: date
image: busybox
command: ["sh","-c","while date; do sleep 1; done"]
- name: sleep15
image: busybox
command: ["sh","-c","sleep 15; exit 1"]
これは、これはrestartpolicyの詳細であるように私が探しています正確に何ではありません... – sytianhe