追記(2015/3/13 23:40)
CentOS 6 でRancher の管理サーバーまでは動いたのですが,コンテナの作成がどうにもうまくいかなかったので,Ubuntu でやり直しました →http://qiita.com/t-fukai/items/14e5218b4451a9ccd0c3
はじめに
RancherというDockerのホストやコンテナを操作するツールを動かしてみました.
今回はRancherサーバーの起動とホストの追加までやってみました.
Rancher とは
Rancher はオープンソースプロジェクトの1つで,Web UIやAPIを通してDockerのホストやコンテナを操作する機能を提供するものです.OpenStackやCloudStackのDocker版というのが僕のイメージです.
HP: http://rancher.com/
Github: https://github.com/rancherio/rancher
Github のReadme.md 曰く,機能としては以下のようなものがあるようです.
- multi-host networking
- global and local load balancing
- volume snapshots
Github の最初のコミットは昨年の11月(2014/11/08) で,現在活発に開発している真っ最中のようです.
動作環境
今回はRuncherサーバー用のVMとDockerホスト用VMを各1台づつ用意して,Rancher を動かしてみました.
2つのマシンともOS はCentOS 6.6, Docker 1.4.1 です.
Dockerのバージョンは1.4 以上を要求されています.
$ cat /etc/redhat-release
CentOS release 6.6 (Final)
$ docker version
Client version: 1.4.1
Client API version: 1.16
Go version (client): go1.3.3
Git commit (client): 5bc2ff8/1.4.1
OS/Arch (client): linux/amd64
Server version: 1.4.1
Server API version: 1.16
Go version (server): go1.3.3
Git commit (server): 5bc2ff8/1.4.1
Rancher管理サーバー
以下のコマンドでRancherの管理サーバーが起動します.
# docker run -d -p 8080:8080 rancher/server
起動するとWeb UI が見れるようになります.
管理サーバーの80番ポートにアクセスしてみると,以下のようなUIが見れます.
Dockerのホストを追加
追加したいホストマシンで以下のコマンドを実行すると追加できます.
# docker run --rm -it --privileged -v /var/run/docker.sock:/var/run/docker.sock rancher/agent http://<管理サーバのIP>:8080
僕の環境では,このコマンドを実行した時に一度以下のようなエラーがでて,もう一度同じコマンドを実行するとうまく動きました.Dockerで他のコンテナを動かしていたのが何か影響したのかもしれませんが,原因はよくわかってません.
FATA[0050] Error response from daemon: Cannot destroy container 413311abca605b42e6b142c4fcee5d678e4e21dee4bd2c70964a876f9019ea8e: Driver devicemapper failed to remove root filesystem 413311abca605b42e6b142c4fcee5d678e4e21dee4bd2c70964a876f9019ea8e: Device is Busy
ホストの追加に成功すると,Web UIから追加したホストを見ることができます.
おわりに
とりあえずRancher の管理サーバーを動かして,ホストを1つ追加するところまでやってみました.
今後,コンテナの作成やコンテナ同士の連携などやってみたいと思います.