異なるクラウド プロバイダーのノードを使用して docker swarm クラスターを作成することは可能ですか?
それらのいくつかは AWS、いくつかは GCE、いくつかは Azure にあるとしましょう。
私の理解では、ノードが相互にアクセスできる限り、swarm クラスターを作成できます。クラウド プロバイダーが誰であるか、またはノードがどこにあるかは問題ではありません。
swarm デプロイ ドキュメントを注意深く読むと、クラスターをデプロイする際の重要な点は、「計算ノードがコントローラー ノードと通信できるようにする」ことであることがわかります。swarm と検出サービス (consul や etcd など) の両方がインストールされたコントローラー ノードが既にあると仮定すると、次のように計算ノードを追加できます。
$ docker run -d swarm join --advertise=<node_ip>:2375 consul://<consul_ip>:8500
コントローラーノードの IP の場所node_ip
とconsul_ip
べきです。
難しいのは、ノードを相互に通信させることができるかということです。実は、この質問に答えるのは簡単ではありません。IP 割り当て、ネットワーク設計、ルーターなどに注意する必要があります。
はい。基本的なインフラストラクチャをセットアップする簡単な方法については、Docker Machine を参照してください。