LoginSignup
0
0

More than 1 year has passed since last update.

Docker Swarm環境をRaspberry Pi上に構築してみる

Posted at

Raspberry PiクラスタにDocker Swarm環境を構築した際の手順備忘録になります。

そもそもDocker Swarmとは?

Dockerコンテナのオーケストレーションツールです。
同じコンテナオーケストレーションツールには有名どころでKubernetesがありますが、Kubernetesと比べると格段に導入コストは低いと個人的には思っています。

現在のKubernetesのコンテナランタイムはcontainerdがデフォルトになっていますが、Docker SwarmはDockerに備わっている機能のため、Dockerの知識さえあれば使えるのも魅力です。

事前条件

ネットワーク構成は、以前Kubernetesクラスタを構築した時と同様の構成にしています。詳しくはこちらを参照してください。
また、各ノードにdockerはインストール済みとします。

masterノードの構築

masterノード内で下記コマンドを実行する

docker swarm init --advertise-addr <masterノードのIPアドレス>

実行例

pi@master:~ $ docker swarm init --advertise-addr 192.168.1.111
Swarm initialized: current node (xk7z4cc5fplofxj64y3lrvk0x) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token <トークン> 192.168.1.111:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

workerノードの追加

workerノード内でdocker swarm init実行時に表示されたコマンドを実行すればOK

docker swarm join --token <トークン> 192.168.1.111:2377

確認

masterノードで下記コマンドを実行する

pi@master:~ $ docker node ls
ID                            HOSTNAME   STATUS    AVAILABILITY   MANAGER STATUS   ENGINE VERSION
xk7z4cc5fplofxj64y3lrvk0x *   master     Ready     Active         Leader           20.10.17
fzpgf5jfphqbi3sft7d7w4jps     worker1    Ready     Active                          20.10.17
iucxr6uzd8eeosxfxqvynwvrd     worker2    Ready     Active                          20.10.17

docker swarm joinを実行したノードが追加されていること、STATUSに問題がないことを確認できればOK

Swarm環境でサービスを起動する

docker serviceコマンドを実行することでswarm環境上にサービスを起動します。
基本的にはdockerコンテナ立ち上げる時とオプションはあまり変わりません。

--replicasオプションで指定した数だけサービスが起動します。

docker service create \
    --name my-nginx \
    --mount type=bind,src=/data,dst=/sample_volume \
    --publish 8080:80 \
    --replicas=2 \
    nginx:latest

サービスの起動状況はdocker service lsコマンドで確認できます。

0
0
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
0
0