0

"kill PID"コマンドを使用して、コンテナ内からプロセスを正常に終了させるスクリプトを持っているコンテナを正常に終了させるためのユースケースがあります(TERMシグナルを送信します) しかし、生存プローブも同様に構成されている。 現在、活性プローブは60秒間隔でプローブするように設定されています。したがって、正常終了シグナルが送信された直後に活性プローブが実行された場合、終了がまだ進行中の場合、コンテナの全体的な状態は危険になる可能性があります。 この場合、活性プローブは失敗し、コンテナは直ちに終了します。k8s livenessプローブが失敗したときに、コンテナ内で実行されているプロセスに送信されるシグナルは何ですか? KILLまたはTERM

だから、kubeletがTERMまたはKILLでコンテナを殺すのかどうかを知りたかったのです。

があなたのサポートKubernetesで事前

答えて

2

で 感謝感謝、ライブネスプローブは、コンテナの健康状態をチェックします。

SIGKILLとSIGTERMのどちらを使用するかについての質問に答えるには、答えは両方とも使用されていますが順序通りです。それでは、ボンネットの下で何が起こるのですか?

  1. ライブネスプローブチェックが
  2. Kubernetesが
  3. Kubernetesが
  4. Kubernetesは、コンテナの再起動のために再び

コンテナにトラフィックをルーティング開始した容器に再起動された容器へのトラフィックのルーティングを停止して失敗し、SIGTERM最初にパラメーター化された猶予期間の待機と一緒に送信され、KubernetesはSIGKILLを送信します。これは、それが失敗したと見なされる前の要求が応答するために取ることができる時間を指定

timeoutSeconds 

あなたの問題の周りハックは、属性を使用することです。アプリケーションのオンライン化に要する時間が予測可能な場合は、このパラメーターを追加して調整できます。

また、livenessProbeの前にreadinessProbeで遊んで、プロセスの再起動後にコンテナが使用できるようにするのに十分な遅延があります。使用するパラメータの詳細については、https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/を参照してください。

関連する問題