Nomad: Nomadは、Dockerドライバーが失敗した(サービスが停止した)クライアントノードからジョブを移動しません

作成日 2018年01月19日  ·  3コメント  ·  ソース: hashicorp/nomad

遊牧民バージョン

0.7.1

オペレーティングシステムと環境の詳細

CentOS 7、Dockerバージョン17.09.0-ce、ビルドafdb6d4
4ノードクラスターで実行(それぞれ8 CPU、64GB RAM)

問題

遊牧民は、Dockerデーモンがクライアントノードで停止している場合、タスクを別のノードに移動しようとはしません。
attrs.driver.docker = 1の制約があり、遊牧民はドライバーの失敗を正しく認識しました(少なくともこれをログに記録します)が、同じノードで何度も何度もtaksを再起動しようとします。

タスクを移動して別の場所で開始しようとするか、attrs.driver.docker = 0を設定して制約を開始できるようにするクライアントヘルスチェックを追加しますか? (遊牧民はどのドライバーを使用するかを知っているので、ドライバーの制約を自動にするべきではありませんか?)

42 seconds | 0 seconds | Restarting | Restart within policy |   | 0
-- | -- | -- | -- | -- | --
25 seconds | 16 seconds | Driver | Downloading image sorintlab/stolon:master-pg9.6 |   | 0
25 seconds | 0 seconds | Driver Failure | failed  to initialize task "sentinel-service" for alloc  "cd68c665-049e-70e2-e75b-65aa25372ed0": Failed to pull  `sorintlab/stolon:master-pg9.6`: dial unix /var/run/docker.sock:  connect: no such file or directory |   | 0
25 seconds | 0 seconds | Restarting | Exceeded allowed attempts, applying a delay |   | 0
16 seconds | 9 seconds | Driver | Downloading image sorintlab/stolon:master-pg9.6 |   | 0
16 seconds | 0 seconds | Driver Failure | failed  to initialize task "sentinel-service" for alloc  "cd68c665-049e-70e2-e75b-65aa25372ed0": Failed to pull  `sorintlab/stolon:master-pg9.6`: dial unix /var/run/docker.sock:  connect: no such file or directory |   | 0
16 seconds | 0 seconds | Restarting | Restart within policy |   | 0
0 seconds | 15 seconds | Driver | Downloading image sorintlab/stolon:master-pg9.6 |   | 0
0 seconds | 0 seconds | Driver Failure | failed  to initialize task "sentinel-service" for alloc  "cd68c665-049e-70e2-e75b-65aa25372ed0": Failed to pull  `sorintlab/stolon:master-pg9.6`: dial unix /var/run/docker.sock:  connect: no such file or directory |   | 0
0 seconds | 0 seconds | Restarting | Restart within policy

dockerデーモンが再度開始されると、このタスクが開始されます。 しかし、1つのクライアントノードでDockerに障害が発生すると、遊牧民はタスク数を満たしません(ただし、可能性があります)

themdrivedocker themscheduling typenhancement

最も参考になるコメント

こんにちは、この号を開いていただきありがとうございます。 @preetapanが述べたことに加えて、Nomad 0.8に継続的なドライバーヘルスチェックの概念も追加します。これにより、ドライバーが失敗した場合、クライアントはドライバーが再び正常になるまでこのドライバーのアドバタイズを停止します。

全てのコメント3件

@Garagothこれを報告してくれてありがとう。 今後のNomad0.8リリースでは、失敗した割り当ての再スケジュールに対処しています。 再スケジュールの試行と時間間隔も構成可能になります。

こんにちは、この号を開いていただきありがとうございます。 @preetapanが述べたことに加えて、Nomad 0.8に継続的なドライバーヘルスチェックの概念も追加します。これにより、ドライバーが失敗した場合、クライアントはドライバーが再び正常になるまでこのドライバーのアドバタイズを停止します。

これは、0.8の再スケジュールで対処さ

このページは役に立ちましたか?
0 / 5 - 0 評価