返回介绍

其他 - 监控Swarm健康

发布于 2020-09-14 13:05:51 字数 2122 浏览 1295 评论 0 收藏 0

我们可以通过通过查询Docker API的HTTP端点/nodes来监控manager节点的健康状况。详情请参考Nodes API docuemntation

在命令行中运行docker node inspect <id-node>,来查询节点。例如,查询mananger节点的可达性:

  1. docker node inspect manager1 --format "{{ .ManagerStatus.Reachability }}"
  2. reachable

查询worker节点接收的task的状态:

  1. docker node inspect manager1 --format "{{ .Status.State }}"
  2. ready

上面的命令我们可以看到manager1节点可达性为reachable,作为workder几点的状态为ready

unreachable状态则表示其他的manager节点服务到达这个节点。这种情况下就需要通过已下办法来恢复该节点:

  • 重启Docker daemon

  • 重启服务器

  • 如果既不重启Docker daemon也不重启服务器,那幺就需要添加一个新的manager节点,或者将一个worker节点升级成为一个manager节点。我们也需要通过命令docker node demote <NODE>docker node rm <id-node>彻底移除该节点。

我们也可以在manager节点上执行docker node ls来查看节点:

  1. docker node ls
  2. ID HOSTNAME MEMBERSHIP STATUS AVAILABILITY MANAGER STATUS
  3. 1mhtdwhvsgr3c26xxbnzdc3yp node05 Accepted Ready Active
  4. 516pacagkqp2xc3fk9t1dhjor node02 Accepted Ready Active Reachable
  5. 9ifojw8of78kkusuc4a6c23fx * node01 Accepted Ready Active Leader
  6. ax11wdpwrrb6db3mfjydscgk7 node04 Accepted Ready Active
  7. bb1nrq2cswhtbg4mrsqnlx1ck node03 Accepted Ready Active Reachable
  8. di9wxgz8dtuh9d2hn089ecqkf node06 Accepted Ready Active

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文