
静的 IP アドレスを持つ Google Cloud 上の Ubuntu Server 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 を使用して上記のポートを有効にする必要があります。