2016-05-30 9 views
0

でローリング展開を行うにはどのように現在、古いイメージを持つコンテナはSIGTERMを取得し、3秒後、彼らはSIGKILLを取得し、終了していますすぐに。優雅mesosマラソン

フレームワークをmarathon-lb(haproxyラッパー)と統合すると、次のヘルスチェックがトリガーされるまで、これらのコンテナは回転を続けます(ハプロキシはトラフィックを送信し続けます) )。その間、これらのコンテナへのリクエストはすべて5XXになります。ですから、SIGKILLの前にmarathon-lbからコンテナを回転させないようにする回避策があります。

ヘルスチェック間隔を3秒に設定しても、次のヘルスチェックと3秒後に競合状態が発生する可能性があるため、正常な展開は保証されません。マラソンがSIGKILLをコンテナに送信し、 1秒は、バックエンドノードの数が増えると不可能になります。これを達成する他の方法はありますか?

答えて

0

はあなたのために仕事ができる3つのオプションがあります。

  1. @Tobiが提案したように、blue green deploymentをMarathonと見てください。
  2. executor_shutdown_grace_periodを増やすか、またはを減らすことができます(これはオプションではありません)。ハープロキシのhealtcheckの間隔は、優雅な時間の2倍です。
  3. 少しハッキリですが、あなたのアプリケーションはSIGTERMを取得したときにハプロキシ自体から登録を解除することができます。
関連する問題