2017-06-06 2 views
0

多くのkubernetesポッドが実行されている実行中のインスタンスの一部を拡大したいと考えています。したがって、公式文書termination-of-podsに従ってgraceful periodを使用してポッドを正常に停止させます。私は多くのブログ記事と公式文書を読んでいる、彼らはすべてgraceful periodとポッドを正常に終了する方法を伝えている。しかし、彼らはgraceful periodがどれほど長くなるかを決定する方法は述べていません。ポッドを終了している間にkubernetesの優雅な期間を確認するにはどうすればいいですか?

たとえば、ポッドのコンテナは、ある期間に何千ものリクエストを処理し、すべてのリクエストを完了するために30秒以上かかることがあるとします。この場合、要求の一部が失われるため、graceful periodを30秒に設定することは悪い考えです。ただし、ユーザーの負担が軽減され、同じポッド内の同じコンテナが他の期間に数十回のリクエストにのみ使用され、すべてを完了するために5秒かかる場合、graceful periodの30秒は長すぎます。

これは私の検討事項です。ですから、私の質問は次のとおりです。 1. graceful periodの寿命を判断するためのベストプラクティスはありますか? 2.処理要求がコンテナ内で完了し、ポッドを正常に終了するかどうかを確認する方法はありますか? 3.終了コマンドをポッドに送信した後で、最初のgraceful periodを延長できますか?

ありがとうございます。

答えて

1

理想的な優雅な期間を判断する最良の方法は、観測可能性によるものです。現実的な生産負荷と測定の下にあなたのサービスを置く。これはプロジェクト特有のものです。

優雅な期間の前にPID 1のプロセスが終了した場合、正常な期間が終了する前にコンテナがTerminatedとしてマークされるため、通常の状況下で予想される値よりわずかに高い値を設定する価値があります。

コンテナに終了時に任意の情報を書き込ませることができます。 KubernetesにはTermination messagesと呼ばれる機能があります。

関連する問題