「DockerでcryoSPARCクラスタ」の版間の差分
提供: Eospedia
(ページの作成:「== Docker swarmによるクラスタ構築 == 異なるホストマシンの上に載っているDockerを相互接続するためにswarmを構成したうえで、cryoS...」) |
|||
行3: | 行3: | ||
=== ファイアウォール設定 === | === ファイアウォール設定 === | ||
+ | Docker間の通信に必要なポートを開ける必要がある。こちらを参照⇒ https://docs.docker.com/network/overlay/#create-an-overlay-network | ||
+ | |||
+ | CentOSの場合はfirewall-cmdでポートを開けることができる。クラスタに参加するホストマシンのすべてで実行する必要がある。(firewall-cmdについて参考: [[Linux関連#ネットワーク関連]]) | ||
+ | <pre> | ||
+ | > sudo firewall-cmd --zone=public --add-port=2377/tcp --add-port=7946/tcp --add-port=7946/udp --add-port=4789/udp | ||
+ | </pre> | ||
+ | |||
+ | === Swarmの構成 === | ||
+ | クラスタに参加させたいホストマシンのDockerでswarmを構成する。Swarmにはマネージャーノードとワーカーノードの概念がある。 | ||
+ | |||
+ | まずはマネージャーノードにしたいホストマシンにて以下を実行する。 | ||
+ | <pre> | ||
+ | > docker swarm init | ||
+ | </pre> | ||
+ | |||
+ | すると以下のような文字列が出力されるから、これをワーカーノードとしてクラスタに参加させたいホストマシンのそれぞれで実行すればよい。 | ||
+ | <pre> | ||
+ | docker swarm join --token <トークン文字列> <マネージャーノードのIPアドレス>:2377 | ||
+ | </pre> | ||
+ | 成功すれば"This node joined a swarm as a worker."と表示される。 | ||
+ | |||
+ | マネージャー、ワーカーとややこしいことを書いたが、たぶん、swarm上でサービス (Dockerの用語)を動かす時に必要になる役割で、今回のようにそれぞれのホストでcryoSPARCコンテナを動かし、それを相互接続する、というだけであれば、どれをマネージャーにするかなどはあまり関係ないのではないかとは思う。 |
2020年9月17日 (木) 03:53時点における版
Docker swarmによるクラスタ構築
異なるホストマシンの上に載っているDockerを相互接続するためにswarmを構成したうえで、cryoSPARCコンテナ間通信用のネットワークを作成する。(参考: Docker関連 )
ファイアウォール設定
Docker間の通信に必要なポートを開ける必要がある。こちらを参照⇒ https://docs.docker.com/network/overlay/#create-an-overlay-network
CentOSの場合はfirewall-cmdでポートを開けることができる。クラスタに参加するホストマシンのすべてで実行する必要がある。(firewall-cmdについて参考: Linux関連#ネットワーク関連)
> sudo firewall-cmd --zone=public --add-port=2377/tcp --add-port=7946/tcp --add-port=7946/udp --add-port=4789/udp
Swarmの構成
クラスタに参加させたいホストマシンのDockerでswarmを構成する。Swarmにはマネージャーノードとワーカーノードの概念がある。
まずはマネージャーノードにしたいホストマシンにて以下を実行する。
> docker swarm init
すると以下のような文字列が出力されるから、これをワーカーノードとしてクラスタに参加させたいホストマシンのそれぞれで実行すればよい。
docker swarm join --token <トークン文字列> <マネージャーノードのIPアドレス>:2377
成功すれば"This node joined a swarm as a worker."と表示される。
マネージャー、ワーカーとややこしいことを書いたが、たぶん、swarm上でサービス (Dockerの用語)を動かす時に必要になる役割で、今回のようにそれぞれのホストでcryoSPARCコンテナを動かし、それを相互接続する、というだけであれば、どれをマネージャーにするかなどはあまり関係ないのではないかとは思う。