OSSのDockerコンテナ環境管理ソフト 注目の5製品紹介 2016年版:実際に検証済み!OSS徹底比較(7)Dockerコンテナ環境管理編(2/7 ページ)
Dockerコンテナ環境をGUIを利用して管理を行いたいニーズは大きく、各社よりDockerコンテナの起動制御やスケジューリングをGUIから行える管理ソフトが提供されている。今回は、GUIに対応したDocker環境の管理ツールの内の5つのOSSをピックアップ。特徴やメリット、デメリットなどを解説する。
Flynnのプロフィール
FlynnはPrime Directive社が開発したコンテナ型の仮想化環境上でPaaSを実現するツールである。標準インストールではlxcのコンテナ型仮想化となるが、Dockerにも対応しており、Docker環境のPaaS基盤を構築することも可能である。ライセンスは独自ライセンスで、利用するに当たり、flynn/LICENSEに準拠する必要がある。2014年8月11日にv20140811がベータ版としてリリースされ、2016年8月時点の最新バージョンは、2016年8月14日にリリースされたv20160814.0である。約2年間でバグフィックスを含め、400回を超えるリリースがなされており、非常に活発に開発が行われている。
機能概要
Flynnの実行環境の構築には、Vagrantを使用してVirtual Boxに仮想マシンイメージで導入する方法と、各クラウドや物理マシン上のOSに対してインストールを行う方法がある。ただし、FlynnはUbuntu 14.04 LTSを推奨しており、それ以外の環境ではインストールできない可能性がある。最小構成は管理用のマネジャー×1台とノード×2台の3台構成であり、今回の評価はUbuntu 14.04をインストールしたサーバを3台使用する形で行っている。
インストール手順は公式ガイドにまとめられているが、Flynnの管理用のWebUIやRest APIにサブドメインを使ってアクセスするため、外部のDNSが必須になったり、クラスタ構成やコンテナイメージを導入する必要があるなど、若干コマンドが複雑である。おそらく何回かトライ&エラーを繰り返すこととなるだろう。検証に使用した環境の構築手順は、以下の弊社技術ブログで公開しているので参考にしていただきたい。
参考リンク:FlynnをインストールしてDockerコンテナを動かしてみた(Tech Sketch/TIS)
クラスタを構成するためのノード情報の管理は “https://discovery.flynn.io/clusters/” で行うため、インターネットに接続しない状態では利用できない点にも注意が必要である。
構築完了後に管理用のWebUIであるダッシュボードで初期設定を行う。URLはサブドメインを使用した、”http://dashboard.[domain_name]”となっている。ダッシュボードはクラスタ内のいずれかのサーバで動作しており、IPアドレスでは接続が行えない。Flynnクラスタを構成するためには、専用のDNSサービスを利用することが必須となる。
起動させるアプリケーションは、事前にCLIを使用してローカルのGitリポジトリに登録する必要がある。Docker HubにあるUbuntuのDockerコンテナとexampleで提供されているlxc形式のコンテナを登録している。
コンテナの起動・停止は、アプリケーションごとにProcessesの数を変更することで行われる。コンテナの起動状況に応じて、クラスタ内にバランシングされる形で起動される。
「PostgresSQL」「MySQL」「MongoDB」「Redis」などのDBを起動できるlxc形式のコンテナも標準インストール+examplesのインストールで利用可能となり、Provisionボタンを押すだけでコンテナが起動される。
コンテナ内のWebアプリケーションを外部へ公開するには、FlynnのルータへのCLIで設定を行う。手順はこちらのガイドで公開されている。URLはdashboardなどと同様にサブドメインを使用する。
優位性と劣位性
優位性
- 管理画面の操作やコンテナの管理は直観的で分かりやすい
- exampleで提供されているlxc形式のコンテナとDockerコンテナを組み合わせて利用可能
- コンテナ上のWebアプリケーションの公開設定はFlynnの仮想ルータの設定だけで行える
劣位性
- 動作推奨OSがUbuntu 14.04 LTSに限定されている
- インストール、構築手順が若干複雑で、日本語での情報も少ない
- lxcベースのツールに対してDockerを追加で拡張しているため、構造が若干複雑
- コンテナにアクセスするクライアント端末も同じDNSで名前解決をする必要がある
利用シチュエーション
- 同一システムを多人数で同時に開発する場合のテスト環境
- システムの追加、削減、改変が多い環境でのシステム運用
コンテナ内のWebアプリケーションの公開にサブドメインを利用することで、ネットワークとして大きな設定変更を行わずに、「アクセスできるURL」の追加・変更を行える点は、コンテナ型のPaaS基盤として非常に効果的なアイデアである。環境の初期構築やコンテナイメージの管理など若干、難易度は高そうだが、運用が確立できれば利便性が高いツールだと考えられる。
Copyright © ITmedia, Inc. All Rights Reserved.