2017-10-20 9 views
2

ポッド内のコンテナガベージコレクションに関する質問があります。私は主なコンテナとサイドカーをポッドに入れて運んでいます。メインコンテナは終わってもサイドカーはまだ動いている。 Kubernetesは主容器をガベージで回収しますか?サイドカーが終了するまでメイン容器がガベージコレクションされないことを保証できますか?そうでない場合は、これを達成する方法がありますか?Kubernetesのコンテナガベージコレクション

MaxPerPodContainerフラグはこれとどのように関連していますか?

答えて

0

https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policyから:

A PodSpecは、可能な値AlwaysOnFailure、およびNeverrestartPolicyフィールドを持っています。デフォルト値は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"] 
    
    +0

    これは、これはrestartpolicyの詳細であるように私が探しています正確に何ではありません... – sytianhe

    関連する問題