You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure容器服务创建Docker Swarm后,如何连接代理节点并初始化集群?

我来帮你搞定连接Swarm代理节点的问题,你遇到的情况其实挺普遍的,咱们一步步来解决:

连接Swarm缩放集代理节点并加入集群的步骤

1. 先拿到代理节点的可访问IP

你之前用实例名称swarm-agentpool-1606...连不上,核心原因是本地DNS没法解析这个云平台内部的实例名,所以得先获取代理节点的公网IP或者私有IP(如果主节点和代理节点在同一个虚拟网络里,私有IP也能用来SSH):

  • 直接登录你的云平台控制台,找到容器服务的缩放集,点开每个代理节点的详情页,就能看到对应的IP地址;
  • 也可以用云平台的CLI工具批量获取,比如Azure的话,执行这条命令就能列出所有实例的名称和公网IP:
    az vmss list-instances --resource-group <你的资源组名称> --name <缩放集名称> --query "[].{name:name, publicIp:publicIpAddresses[0].ipAddress}"
    

2. 用IP地址SSH连接代理节点

拿到IP后,用Git Bash连接的命令和你连主节点几乎一样:

  • 密码登录方式:ssh moconnor@<代理节点的公网/私有IP>
  • 密钥登录(更安全,也是云平台推荐的方式):ssh -i <你的私钥文件路径> moconnor@<代理节点的公网/私有IP>

3. 把代理节点加入Swarm集群

成功连上代理节点后,先回到主节点的SSH终端,获取Swarm Worker节点的加入命令:

docker swarm join-token worker

复制输出里的完整命令(格式大概是docker swarm join --token <一串长token> <主节点IP>:2377),然后在每个代理节点的终端里执行这条命令,就能把节点加入到Swarm集群了。

小技巧:批量操作省时间

如果有多个代理节点,不想手动一个个连,可以写个简单的脚本批量执行加入命令(前提是先配置主节点和代理节点之间的免密SSH登录):

# 把你的代理节点IP填到这个数组里
AGENT_IPS=("192.168.1.101" "192.168.1.102")
# 从主节点获取Swarm加入命令
JOIN_CMD=$(ssh moconnor@<主节点IP> "docker swarm join-token worker | grep docker")

# 循环遍历所有代理节点执行加入命令
for ip in "${AGENT_IPS[@]}"; do
  ssh moconnor@$ip "$JOIN_CMD"
done

内容的提问来源于stack exchange,提问作者Konzy262

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:10:02