2017-09-17 12 views
0

私はキューからジョブを取得する単純なドッカーコンテナを持っています。スケーリングスクリプトは、レプリケーションコントローラにapi要求を送信することによって、現在実行されているポッドの量を処理します。Kubernetes podがシャットダウンするかどうかを確認します

問題は、今は仕事をしているときにポッドをシャットダウンしたくないということです。私がポッドの量を減らすと、最後に作成されたポッドが削除されます。

最後のポッドを教えることができるかどうか知りたいので、数分間でシャットダウンされるので、新しい仕事をしてはいけないのですか? 1つの解決策は、スケーリングスクリプトが最後のポッドを手動で呼び出すことです。しかし、すべてのポッドが自分のインスタンスのシャットダウンイベントを聞くことは可能ですか?

答えて

3

作業を完了するためにポッドが与えられる猶予期間を指定することができます。ポッドは、シャットダウンを開始する必要があるときにTERMシグナルを送信します。あなたのポッドはそれを聞くことができ、彼らの現在の仕事を完了し、別のものを取って代わりに終了することができます。猶予期間のデフォルトは30秒ですが、ポッド仕様のterminationGracePeriodSecondsフィールドを使用して、通常のジョブが完了するのに十分な長さに設定することができます。

詳細

+0

ためhttps://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-podsが、私はこのコールを聞くために私のコンテナにイベント用のPythonリスナーを実装することができました、ありがとう参照してください。 – mimo

関連する問題