sbr*_*tla 7 healthcheck docker-swarm
我很难弄清楚HEALTHCHECK在 swarm 模式下运行 Docker 时的真正用途。
一个地方建议Docker 将重新启动一项被认为是不健康的任务。另一个地方解释说 Docker 将停止向不健康的任务发送流量。Docker 文档本身只解释了HEALTHCHECK指令是什么,以及如何配置它。它没有试图解释当任务不健康时会发生什么。
换句话说,我正在努力寻找一个清晰可靠的解释来解释什么是HEALTCHECK真正的。
此外,查看Docker REST API,这个特定的数据(任务是否健康)甚至没有为任务公开(尽管它为容器公开)。这使得使用该指标来监控 Docker Swarm 变得很困难,所以在我看来,这也不是该指标的主要目的。
当在 swarm 模式下运行 Docker 时任务变得不健康时,真正会发生什么?
Bre*_*her 10
您按照第一个链接建议的方式设置健康检查。所有这些方法都会告诉 docker 运行什么命令,运行它的频率等。
如果你docker run用来启动一个容器,当健康检查失败时,UI 会显示不健康,但 docker 不会对容器做任何事情。由您或一些更高级别的监控解决方案来采取行动。
如果您使用docker service create(或docker stack deploy) 创建 Swarm 服务并且该健康检查失败,它将停止/终止任务(容器)并重新安排新任务以替换该服务的副本。在停止/终止期间(它试图优雅地停止它,但像所有 docker 容器一样在 10 秒后终止),Swarm 将停止覆盖该任务的入站流量,就像它对所有停止任务所做的那样。
| 归档时间: |
|
| 查看次数: |
8659 次 |
| 最近记录: |