3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Docker swarm modeについて整理(適宜追記)

Last updated at Posted at 2016-08-12

ちょっと今後Dockerのswarm modeについて整理するので
概念やら用語やらを少し整理。

ちょくちょく追記していく予定。

目的

Docker Engine 1.12でswarmがEngineに組み込まれたので、
改めて概念や用語について整理する。

あくまでも私としての認識なのでその点ご注意。
公式のドキュメントなどとは多少ずれてるやもしれない。

swarm modeの構成

全体イメージ

swamクラスタ.png

覚えておかないとしんどいのは以下の4つの概念。

用語 内容
Swarm Dockerで構成されたクラスタのこと
ノード 単一Dockerホスト
サービス 同一タスク(コンテナ)の集合
タスク 単一コンテナ(厳密にはその中で実行されている処理)

個別の概念

Swarm

単一のDockerホスト(ノード)のクラスタのこと。
複数のノードが強調して動くことであたかも単一の
大きなリソースプールを持っているかのように見せかける。

ノード

ノードは単一のDockerデーモンが動作している
VMまたは物理ホストのこと

ノードの種別

ノードの種別 内容
マネージャ クラスタの状態管理可能なノード
ワーカ コンテナを立ち上げることが可能なノード

なお、マネージャノードはワーカノードを兼ねる。
マネージャ/ワーカの切り替えも可能。

マネージャノードの役割

swarm全体の状態を管理する。
swarmが管理者が望む(desired)状態になっているかなどを監視し、それに近づけられるよう集約する。

単一のswarmないに複数のマネージャノードが存在する場合は
そのうちの一つがリーダとして振舞う。

マネージャノードを複数確保することの利点

単純にマネージャノードが複数あることで、
マネージャノードが死んでもswarm全体としては
正常に動作しつづけることができる。

厳密には、マネージャノードの台数に対して
何台までのマネージャノードの停止にswarmが耐えられるかは以下の数式に従う。

\frac{n-1}{2}

n: swarm内のマネージャノード数

ワーカノードの役割

マネージャノードからの指示を受けてタスク(コンテナ)の起動・停止を行っている。

単一のノードに収まりきれないようなタスクの起動はできない。
(ノードをまたがることはできない。まあ、コンテナだし)

サービス

サービスとは、同一の複数タスクから構成される。
どのノードで個別のタスクを実行するかは、マネージャノード
(のリーダ)が決定する。

サービス間の通信

swarmではサービス間で通信を行うことでコンテナ間の通信を実現する。
サービス間の通信は サービス名 を用いて行う。

swarm内ではDNSが動作しており、タスク名および、
サービス名での通信が可能

サービス名で通信を行う場合は同一サービスに含まれるタスク(コンテナ)に対して自動的に負荷分散される。
つまり、暗黙的に内部ロードバランサが存在する

swarm外からのアクセス

サービスにおいてswarm外からアクセスできるように設定した場合は、コンテナが1つしかない場合でも全てのノードから単一のノードに対してのアクセスが可能。

まとめ

ざっくりと Apache-Tomcat-DBから構成される
webアプリケーションを構成すると以下のような形になる。
あくまでもイメージなのでご注意。この構成で
正しくアプリが動くことも保証しない(てか動かんな)

サービス間の通信サービス名で行うので
WebレイヤサービスからAPレイヤサービスを呼び出すときは
WebレイヤサービスにはAPレイヤサービスのサービス名を記述すれば良い。APレイヤサービスからDBレイヤサービスを呼び出す際も同様。

swarmのイメージ.png

3
4
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
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?