DockerのSwarmモードでクラスタの構築

GKEがコスト高かったので、GCEを利用してSwarmモードクラスタを構築しました。Kubernetesが使えないのはちょっと寂しいですが、Swarmもなかなかいいものです。

せっかくなので手順をメモしたので公開しておきます。

ホストの準備

まず下記のホストを構築しそれぞれにDockerをインストールします。

  • 10.100.0.1 マネージャーノード
  • 10.100.0.2 ワーカーノード

マネージャーノードの構築

マネージャーノードにしたいホストにアクセスして下記のコマンドを実行

$ sudo docker swarm init --advertise-addr 10.100.0.1
Swarm initialized: current node (xxxxx) is now a manager.

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

    docker swarm join --token xxxxx 10.100.0.1:2377

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

これで 10.100.0.1 がマネージャーになりました。またワーカーノードを追加する方法を教えてくれますのでメモするか再度 sudo docker -H 0.0.0.0:2375 swarm join-token worker で確認します。

ワーカーノードの参加

次にワーカーノードにしたいホスト 10.100.0.2 にアクセスして下記を実行

$ sudo docker swarm join --token xxxxx 10.100.0.1:2377
This node joined a swarm as a worker.

このノードがワーカーノードとしてSwarmへ参加しました。基本的にワーカーを増やす場合はこの手順です。

マネージャーノードの増設

マネージャーノードを増やしたい場合は sudo docker -H 0.0.0.0:2375 swarm join-token manager で得たトークンを利用してワーカーノードを増やすような感覚で追加します。

基本的にDockerがインストールされていれば簡単に所属することができ、非常にシンプルです。

メモ

メッシュネットワークによって一つの場所で立ち上がっていればどこからでもアクセスができるそうだ。なのでどこかでさえ立ち上がっていれば、どのホストからでも接続できる。どのコンテナがどのホストで立ち上がっているかを意識する必要がないとな。

ケチな私はマネージャーノードを一個にして運用してます。

参考

https://qiita.com/chocomintkusoyaro/items/0aed0a5efc964cea6201

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA