Docker
rancher

Rancher CLIを触ってみる

More than 1 year has passed since last update.

Kobito.7f8r3i.png


これで何がわかるか

基本的なRancher CLIの設定と使いかた


注意事項

11/21時点のRancher Server v.1.2.0のpre4-rc10を対象に

操作しているため、GAリリースの際には試用が変わっている可能性があります。


Rancherとは

Rancherはエンタープライズ向けのコンテナ環境の管理ツールです。

Dockerコマンド一つでひとまずの試用は開始可能です。

http://rancher.com/


Rancher CLI

Rancherはv.1.2.0よりRancher CLIと称してCLIが提供されています。

Dockerホストの情報や、個別のコンテナの情報などを取得するだけでなく、

コンテナ、サービスの起動が可能です。


手順


Rancher CLIのダウンロードと初期設定

1) Rancher Server(v.1.2.0)のGUIにブラウザでアクセスします。

2) 画面右下のDownload CLIからRancher CLIをダウンロードします。

Kobito.IlP4vh.png

3) ターミナルでダウンロードしたファイルを展開します。

(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

4) APIキーを作成します。

Kobito.btxTLG.png

画面上部APIのメニューを選択

Kobito.4N5Dmw.png

Add Account API Keyボタンをクリック

Kobito.11oe5t.png

NameとDescription(説明)を入力

Kobito.Uh6MWX.png

Secret Keyはここでしか表示されないのでメモっておきます。

5) Rancher CLIの設定を投入します。

実際には複数の方法が存在します。


CLI設定の投入

$ ./rancher config


Dockerサーバのホスト名 (ホスト名またはIPアドレス:ポート番号)と

Access Key, Secret Keyを設定します。

これで、Rancher CLIの実行設定が完了しました。


Dockerホスト一覧の取得

Rancherの管理対象となっているDockerホストの一覧を取得します。


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を用いることで他のツールとの連携

なども容易に実現できるようになっています。