在Docker群体模式中,有没有办法从工人那里获取pipe理者的信息?

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

那么是否有一种方法可以在docker swarm模式1.12.1上获得工作节点上的当前领导者/经理?

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

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

进一步思考之后:你可以破解这个螺母的一种方法是使用外部键/值存储如etcd或Swarm支持和存储所选节点的任何其他键/值存储,以便可以由所有节点查询。 您可以在Shipyard Dockerpipe理/ UI项目中看到这些示例: http : //shipyard-project.com/

另一种简单的方法是在集群上运行redis服务,另一种服务来宣布当选的领导者。 这个公告服务将有一个约束,只能在pipe理器节点上运行:– --constraint node.role == manager

Interesting Posts