LoginSignup
17
17

More than 5 years have passed since last update.

Machine を使って Swarm クラスタを構築する

Last updated at Posted at 2015-03-06

概要

Docker公式ツールである Machine を使って同じく公式ツールである Swarm のクラスタを作るという話。

Machine を使って Swarm クラスタを構築する

クラスタトークンの作成

swarmコンテナを走らせてトークンを発行するために、まず一時的にDockerホストを立てる

$ docker-machine create -d virtualbox local

INFO[0001] Creating SSH key...
INFO[0001] Creating VirtualBox VM...
INFO[0009] Starting VirtualBox VM...
INFO[0009] Waiting for VM to start...
INFO[0042] "local" has been created and is now the active machine.
INFO[0042] To point your Docker client at it, run this in your shell: $(docker-machine env local)
$ $(docker-machine env local)
$ docker run swarm create

Unable to find image 'swarm:latest' locally
511136ea3c5a: Pull complete
ae115241d78a: Pull complete
f49087514537: Pull complete
fff73787bd9f: Pull complete
97c8f6e912d7: Pull complete
33f9d1e808cf: Pull complete
62860d7acc87: Pull complete
bf8b6923851d: Pull complete
swarm:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security.

Status: Downloaded newer image for swarm:latest
b9d430858ebdb9b079eba25664b1399b

トークン b9d430858ebdb9b079eba25664b1399b を手に入れる。

local というマシンは捨ててしまおう

$ docker-machine rm local

Swarm Master の 構築

$ docker-machine create \
    -d virtualbox \
    --swarm \
    --swarm-master \
    --swarm-discovery token://b9d430858ebdb9b079eba25664b1399b \
    swarm-master

INFO[0000] Creating SSH key...
INFO[0001] Creating VirtualBox VM...
INFO[0009] Starting VirtualBox VM...
INFO[0009] Waiting for VM to start...
INFO[0042] Configuring Swarm...
INFO[0062] "swarm-master" has been created and is now the active machine.
INFO[0062] To point your Docker client at it, run this in your shell: $(docker-machine env swarm-master)

Swarm Node の構築

3 台 Swarm Node を作る

$ docker-machine create \
    -d virtualbox \
    --swarm \
    --swarm-discovery token://b9d430858ebdb9b079eba25664b1399b \
    swarm-node-00

INFO[0001] Creating SSH key...
INFO[0001] Creating VirtualBox VM...
INFO[0009] Starting VirtualBox VM...
INFO[0009] Waiting for VM to start...
INFO[0042] Configuring Swarm...
INFO[0052] "swarm-node-00" has been created and is now the active machine.
INFO[0052] To point your Docker client at it, run this in your shell: $(docker-machine env swarm-node-00)
$ docker-machine create \
    -d virtualbox \
    --swarm \
    --swarm-discovery token://b9d430858ebdb9b079eba25664b1399b \
    swarm-node-01

INFO[0000] Creating SSH key...
INFO[0001] Creating VirtualBox VM...
INFO[0009] Starting VirtualBox VM...
INFO[0009] Waiting for VM to start...
INFO[0042] Configuring Swarm...
INFO[0059] "swarm-node-01" has been created and is now the active machine.
INFO[0059] To point your Docker client at it, run this in your shell: $(docker-machine env swarm-node-01)
$ docker-machine create \
    -d virtualbox \
    --swarm \
    --swarm-discovery token://b9d430858ebdb9b079eba25664b1399b \
    swarm-node-02

    INFO[0000] Creating SSH key...
INFO[0001] Creating VirtualBox VM...
INFO[0009] Starting VirtualBox VM...
INFO[0010] Waiting for VM to start...
INFO[0043] Configuring Swarm...
INFO[0053] "swarm-node-02" has been created and is now the active machine.
INFO[0053] To point your Docker client at it, run this in your shell: $(docker-machine env swarm-node-02)

マシンリストを見てみる

$ docker-machine ls
NAME            ACTIVE   DRIVER       STATE     URL                         SWARM
swarm-master             virtualbox   Running   tcp://192.168.99.100:2376   swarm-master (master)
swarm-node-00            virtualbox   Running   tcp://192.168.99.102:2376   swarm-master
swarm-node-01            virtualbox   Running   tcp://192.168.99.103:2376   swarm-master
swarm-node-02   *        virtualbox   Running   tcp://192.168.99.104:2376   swarm-master

Swarm の利用

$(docker-machine env --swarm swarm-master)
$ docker info
Containers: 5
Nodes: 4
 swarm-node-00: 192.168.99.102:2376
  └ Containers: 1
  └ Reserved CPUs: 0 / 4
  └ Reserved Memory: 0 B / 999.9 MiB
 swarm-node-01: 192.168.99.103:2376
  └ Containers: 1
  └ Reserved CPUs: 0 / 4
  └ Reserved Memory: 0 B / 999.9 MiB
 swarm-node-02: 192.168.99.104:2376
  └ Containers: 1
  └ Reserved CPUs: 0 / 4
  └ Reserved Memory: 0 B / 999.9 MiB
 swarm-master: 192.168.99.100:2376
  └ Containers: 2
  └ Reserved CPUs: 0 / 4
  └ Reserved Memory: 0 B / 999.9 MiB

REF

17
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
17