主なコマンド
クラスタの起動
クラスタ起動の際にはdocker swarm initを実行する。
なお、コマンド実行時にはクラスタにノードを追加する際の
トークン情報の表示も行われる。
(別にここで記録しなくともコマンド実行で改めてトークンを取得することもできる。)
クラスタの起動
docker swarm init --advertise-addr="192.168.100.19" --listen-addr=0.0.0.0:2377
コマンド | 意味 | 備考 |
---|---|---|
docker swarm init | クラスタの起動 | 特になし |
--advertise-addr="192.168.100.19" | 他ノードと通信する際の送信元アドレス? | 複数インタフェースをノードが持っている場合に必要 |
--listen-addr=0.0.0.0:2377 | 他のノードとの通信に用いるリッスンアドレスとポートの指定 | 全インタフェースの2377番ポートでリッスン |
クラスタへのノードの参加
swarmクラスタへのノード参加
docker swarm join 192.168.100.19 --advertise-addr="192.168.100.20" --listen-addr=0.0.0.0:2377 --token="SWMTKN-1-5ttd4rei5x2ltr5xa4balwu607lhg8cpggznhx22vxqwireuyj-dikln7ne6okdxu30ycrevdpwz"
コマンド | 意味 | 備考 |
---|---|---|
docker swarm join | クラスタに参加する | 利用するトークンによってマネージャまたはワーカノードになる |
--advertise-addr="192.168.100.20" | アドバタイズに使用するIPアドレスを指定する | 複数インタフェースを持つ場合は指定必須 |
--listen-addr=0.0.0.0:2377 | 他のノードとの通信に用いるリッスンアドレスとポートの指定 | この場合は全インタフェースのTCP2377番ポートでリッスンする |
--token="~~~" | クラスタへの参加用トークン | マネージャノードとして参加する場合とワーカノードとして参加する場合でトークンが異なる |
トークンの取得
swarmクラスタの中に含まれるマネージャノードで
docker swarm join-tokenのコマンドを実行することでトークンをクラスタ参加用のトークンを取得することができる。
コマンド実行時はマネージャノード用トークンまたは
ワーカノード用トークンの取得を行わなければならない。
マネージャノード用トークンの取得
マネージャノード用トークンの取得
docker swarm join-token manager
To add a manager to this swarm, run the following command:
docker swarm join \
--token SWMTKN-1-5ttd4rei5x2ltr5xa4balwu607lhg8cpggznhx22vxqwireuyj-dikln7ne6okdxu30ycrevdpwz
ワーカノード用トークンの取得
ワーカノード用トークンの取得
docker swarm join-token worker
To add a worker to this swarm, run the following command:
docker swarm join \
--token SWMTKN-1-5ttd4rei5x2ltr5xa4balwu607lhg8cpggznhx22vxqwireuyj-1c6c7kfkfbvn0pim5tb89bgug
状態確認
クラスタの状態確認
クラスタの状態確認
docker node list
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
74ir4572w3n9155wl2jgala4o ubuntu-001 Ready Active Leader
8gag9kyuf6azs4ylojkyrui4s ubuntu-002 Ready Active Reachable
a7kyx0ut9xn9mct2ersixuesz * ubuntu-003 Ready Active Reachable
個別のノードの状態確認
個別ノードの状態確認
docker info
Containers: 0
Running: 0
Paused: 0
Stopped: 0
~~~~中略~~~~
Swarm: active
NodeID: a7kyx0ut9xn9mct2ersixuesz
Is Manager: true
ClusterID: 1m4lxrlz5u1obrptp0n8zw60t
Managers: 3
Nodes: 3
Orchestration:
Task History Retention Limit: 5
Raft:
Snapshot interval: 10000
Heartbeat tick: 1
Election tick: 3
Dispatcher:
Heartbeat period: 5 seconds
CA configuration:
Expiry duration: 3 months
Node Address: 192.168.100.21
~~~~中略~~~~
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Insecure Registries:
127.0.0.0/8
Swarmがactiveとなっており、クラスタは動作している。