Docker Swarm: マネージャーノードとして Swarm クラスターに参加できない

Docker Swarm: マネージャーノードとして Swarm クラスターに参加できない

静的 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 を使用して上記のポートを有効にする必要があります。

関連情報