我在 Google Cloud 上具有静态 IP 地址的 Ubuntu 服务器 16.04 VM 实例上创建了一个 Swarm 管理器节点。我想加入另一个具有静态 IP 地址的 Ubuntu VM 实例。我无法这样做,并且在尝试加入时出现超时错误。
答案1
在大多数情况下,这主要是防火墙问题,因此建议检查防火墙是否未阻止 Google Cloud Platform 上的以下端口。请注意,必须打开以下端口才能使 Swarm 模式正常工作 -
TCP 端口 2377 用于集群管理通信
TCP 和 UDP 端口 7946 用于节点之间的通信
UDP 端口 4789 用于覆盖网络流量
如果您计划创建具有加密(--opt 加密)的覆盖网络,您还需要确保 ip 协议 50(ESP)流量也被允许。
允许 Google Cloud Platform 上的端口:
gcloud compute firewall-rules update [NAME] \
[--allow=[[PROTOCOL][:PORT[-PORT]],…]] \
[--description=[DESCRIPTION]] \
[--destination-ranges=[CIDR_RANGE,…]] \
[--priority=[PRIORITY]] \
[--rules=[[PROTOCOL][:PORT[-PORT]],…]] \
[--source-ranges=[[CIDR_RANGE],…]] \
[--source-tags=[[TAG],…]] \
[--target-tags=[[TAG],…]] \
[--source-service-accounts=[EMAIL] \
[--target-service-accounts=[EMAIL]
您需要使用 GUI 或 GCLOUD 启用上述端口。