これで何がわかるか
基本的なRancher CLIの設定と使いかた
注意事項
11/21時点のRancher Server v.1.2.0のpre4-rc10を対象に
操作しているため、GAリリースの際には試用が変わっている可能性があります。
Rancherとは
Rancherはエンタープライズ向けのコンテナ環境の管理ツールです。
Dockerコマンド一つでひとまずの試用は開始可能です。
Rancher CLI
Rancherはv.1.2.0よりRancher CLIと称してCLIが提供されています。
Dockerホストの情報や、個別のコンテナの情報などを取得するだけでなく、
コンテナ、サービスの起動が可能です。
手順
Rancher CLIのダウンロードと初期設定
- Rancher Server(v.1.2.0)のGUIにブラウザでアクセスします。
- 画面右下のDownload CLIからRancher CLIをダウンロードします。
- ターミナルでダウンロードしたファイルを展開します。
(mac版の場合)
$ tar xvzf rancher-darwin-amd64-v0.3.1.tar.gz
$ ls
rancher-v.0.3.1
$ cd rancher-v.0.3.1
$ ls
rancher
- APIキーを作成します。
Add Account API Keyボタンをクリック
Secret Keyはここでしか表示されないのでメモっておきます。
- Rancher CLIの設定を投入します。
実際には複数の方法が存在します。
$ ./rancher config
Dockerサーバのホスト名 (ホスト名またはIPアドレス:ポート番号)と
Access Key, Secret Keyを設定します。
これで、Rancher CLIの実行設定が完了しました。
Dockerホスト一覧の取得
Rancherの管理対象となっているDockerホストの一覧を取得します。
$ ./rancher hosts
ID HOSTNAME STATE CONTAINERS IP LABELS DETAIL
1h1 ubuntu-001 active 5 172.17.0.1
Dockerコンテナの一覧を取得
$ ./rancher ps -c
ID NAME IMAGE STATE HOST IP DOCKER DETAIL
1i3 rancher-agent rancher/agent:v1.1.0-rc15 running 1h1 e5d58327753f
1i4 rancher-server rancher/server:v1.2.0-pre4-rc10 running 1h1 172.17.0.2 36ff8781d611
1i5 nginx nginx:latest running 1h1 172.17.0.3 eae3366c058d
Dockerコンテナのログの取得
./rancher ps -c で取得できたコンテナを指定することで
docker logsと同様の情報が取得可能になります。
さらに、docker logs -f と同様に"./rancher logs -f コンテナ名" とすることで
tail -fのような形でログを取得することができます。
$ ./rancher logs nginx
192.168.0.5 - - [21/Nov/2016:14:25:59 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36" "-"
192.168.0.5 - - [21/Nov/2016:14:26:00 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36" "-"
192.168.0.5 - - [21/Nov/2016:14:26:00 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36" "-"
192.168.0.5 - - [21/Nov/2016:14:26:01 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36" "-"
まとめ
Rancher CLIを利用することで、コンテナのログの取得などが可能になります。
さらに、サーバへのログインや、root権限(sudo)も不要となること、
複数のDockerホストを対象にコマンドを実行することが容易になるため
うまく扱うことで大規模環境も容易に取り扱うことができるかもしれません。
補遺
RancherのAPIは基本的にRESTfulに構成されています。
つまり、Rancher CLIの中身はただのREST APIのラッパーとなっています。
ここからRancherのREST APIを用いることで他のツールとの連携
なども容易に実現できるようになっています。