云计算核心技术Docker教程:Docker Swarm 模式添加工作节点进行负载均衡

2022-10-20

添加工作节点进行负载均衡

将节点添加到群以平衡群的负载。只要工作节点与服务的要求相匹配,复制的服务任务就会随着时间的推移尽可能均匀地分布在整个集群中。当限制服务仅在特定类型的节点上运行时,例如具有特定 CPU 数量或内存量的节点,请记住不满足这些要求的工作节点无法运行这些任务。

监控蜂群健康状况

您可以nodes通过/nodesHTTP 端点以 JSON 格式查询 docker API,从而监控管理器节点的健康状况。 有关更多信息,请参阅 节点 API 文档。

从命令行运行docker node inspect以查询节点。例如,要查询节点作为管理器的可达性:

docker node inspect manager1 –format “{{ .ManagerStatus.Reachability }}”

reachable

要查询节点作为接受任务的工作者的状态:

docker node inspect manager1 –format “{{ .Status.State }}”

ready

从这些命令中,我们可以看到manager1它既 reachable是经理又ready是工人。

一个unreachable健康的状态意味着这个特定的管理器节点是从其他经理节点无法访问。在这种情况下,您需要采取措施恢复无法访问的管理器:

重新启动守护进程,看看管理器是否恢复可达。

重新启动机器。

如果重新启动或重启都不起作用,则应添加另一个管理器节点或将工作器提升为管理器节点。您还需要从使用docker node demote和设置的管理器中彻底删除失败的节点条目docker node rm。

或者,您还可以使用以下命令从管理器节点获得群健康状况的概览docker node ls:

docker node ls

ID HOSTNAME MEMBERSHIP STATUS AVAILABILITY MANAGER STATUS

1mhtdwhvsgr3c26xxbnzdc3yp node05 Accepted Ready Active

516pacagkqp2xc3fk9t1dhjor node02 Accepted Ready Active Reachable

9ifojw8of78kkusuc4a6c23fx * node01 Accepted Ready Active Leader

ax11wdpwrrb6db3mfjydscgk7 node04 Accepted Ready Active

bb1nrq2cswhtbg4mrsqnlx1ck node03 Accepted Ready Active Reachable

di9wxgz8dtuh9d2hn089ecqkf node06 Accepted Ready Active

您好!请登录

点击取消回复