对于Docker Swarm集群中使用global模式部署的服务,访问特定节点上的服务可能会存在负载均衡的情况。如果你希望确保请求定向到master1节点上的node-exporter应用程序,可以尝试以下方法:
- 在Docker Swarm集群中为node-exporter服务添加一个标签,以便将其约束到master1节点上。
docker service update --constraint-add node.hostname==<master1_hostname> node-exporter
其中,<master1_hostname>
是指定master1节点的主机名。
- 检查是否成功将node-exporter服务约束到master1节点。运行以下命令,并确保在”NODE”列中只有master1节点显示。
docker service ps node-exporter
- 现在,可以通过以下URL来访问metrics端点:
http://<master1_public_ip>:9100/metrics
这样就可以确保请求定向到具体的master1节点上的node-exporter应用程序。请注意,在此示例中,默认假设你已经将node-exporter容器绑定到了宿主机(master1节点)的9100端口。
使用约束条件可以限制特定任务或容器在哪些节点上运行,并提供更精确的控制。但需要注意,在进行操作之前,请先确认集群中是否有足够数量和可靠性的工作节点可供使用。
内容由零声教学AI助手提供,问题来源于学员提问