Vis*_*han 7 docker docker-compose docker-swarm docker-machine
我创建了一个搬运工群簇与4个节点在它外面2是群管理器(群支持多个管理器)我明白,如果当前管理器节点发生故障,则第二管理器需要的作用的是所述群管理器.
在我的情况下,我正在触发swarm管理器的其余调用,以创建具有副本的服务,依此类推.
在某些时候,如果这位经理失败,第二位经理成为经理,我怎么知道?
有没有什么方法可以动态通知特定节点是管理器?
请给我澄清一下这个?
(手动)知道管理员是否更改的快速方法是通过CLI:
$ docker node ls
ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
46aqrk4e473hjbt745z53cr3t    node-5    Ready   Active        Reachable
61pi3d91s0w3b90ijw3deeb2q    node-4    Ready   Active        Reachable
a5b2m3oghd48m8eu391pefq5u    node-3    Ready   Active
e7p8btxeu3ioshyuj6lxiv6g0    node-2    Ready   Active
ehkv3bcimagdese79dn78otj5 *  node-1    Ready   Active        Leader
您可以在列下找出哪个经理是当前的领导者MANAGER STATUS.
您还可以使用Leader字段单独检查每个节点格式,例如:
$ docker node inspect <id-node> --format "{{ .ManagerStatus.Leader }}"
true
您还可以通过编程方式检查哪个经理是领导者.docker远程API公开了一个 可用于列出节点的节点API端点.
您可以提供过滤器作为获取key=value表单的参数.
您可以使用该过滤器仅列出管理器节点(带role=manager),然后您可以解析和过滤JSON输出以保持其Leader字段设置为true(下ManagerStatus)的节点.
不幸的是,还没有leader过滤器(但是)我认为这可能是一个有效的增强功能,可以在swarmkit问题跟踪器上提出建议.
Docker swarm模式上还没有事件流(这可以通过swarmkit存储库中的此问题进行跟踪).我想在将来,一个事件将触发Leader切换,如果您正在收听这些事件,您将动态通知新领导者(例如,如果您有特殊设置并且想要动态更新consul中的条目,nginx或联锁).
| 归档时间: | 
 | 
| 查看次数: | 4280 次 | 
| 最近记录: |