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を用いることで他のツールとの連携
なども容易に実現できるようになっています。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.