在Docker swarm模式中,有没有办法从工人那里获取经理的信息?

问题描述 投票:2回答:2

在docker swarm模式中,我可以运行docker node ls来列出swarm节点,但它不能在worker节点上运行。我需要一个类似的功能。我知道工作节点没有一个强大的一致的集群视图,但应该有一种方法来获得当前的领导者或可达的领导者。

那么有没有办法在docker swarm模式1.12.1上获得工作节点上的当前领导者/经理?

docker docker-swarm raft
2个回答
2
投票

来自工作节点的文档和错误消息提到您必须在管理器节点上执行swarm命令或查看群集状态:

来自工作节点的错误消息:“此节点不是群集管理器。工作节点不能用于查看或修改群集状态。请在管理器节点上运行此命令或将当前节点提升为管理器。”

经过进一步思考:你可以解决这个问题的一种方法是使用外部键/值存储,如etcd或Swarm支持的任何其他键/值存储,并将选定的节点存储在那里,以便所有节点都可以查询。您可以在Shipyard Docker管理/ UI项目中看到相关示例:http://shipyard-project.com/

另一种简单的方法是在群集上运行redis服务,并使用另一个服务来宣布当选的领导者。此公告服务将具有仅在经理节点上运行的约束:--constraint node.role == manager


-1
投票

您可以通过从工作人员运行docker info来获取经理地址。

© www.soinside.com 2019 - 2024. All rights reserved.