gohanを触ってみる

以下からgohanのバイナリソースをダウンロードし、中身を解凍する。

https://github.com/cloudwan/ansible-gohan/releases


# unzip gohan_linux-amd64.zip
# cd gohan_linux-amd64
# ./gohan server --config-file etc/gohan.yaml

これだけで一応gohanが動き始める。以下のurlにアクセスして動きを確かめることができる。

初期状態ではID: admin  Passward: admin でログインが可能。

https://localhost:9443/webui/

ちなみにURLの最後のスラッシュを書き忘れるとページが表示されないので、ご注意を。

 

続いてetcdと連携させる。

gohan設定した情報を分散key/valueストアであるetcdに書き出し、etcdの情報を元にシステムを構築する仕組みを作ってみる。

Ubuntuへetcdをインストール


    # curl -L  https://github.com/coreos/etcd/releases/download/v2.0.9/etcd-v2.0.9-linux-amd64.tar.gz -o etcd-v2.0.9-linux-amd64.tar.gz
    #tar xzvf etcd-v2.0.9-linux-amd64.tar.gz
    #cd etcd-v2.0.9-linux-amd64
    #cp etcd /bin/
    #cp etcdctl /bin/

etcdのインストールが完了したので、etcdを起動する。


    #etcd

 gohanとの連携のために./etc/gohan.yamlファイルを編集し、etcdの項目のコメントアウトを外し、gohanをリスタートする。

ためしにgohanのwebUIから[network]や[server]の項目を追加し、etcdのに書き込まれていることを確認する。etcdctlコマンドを使うと/config/v2.0/以下にUIで設定したnetworks/id1が書き込まれていることがわかる。


# etcdctl ls  --recursive
/monitoring
/gohan
/gohan/cluster
/gohan/cluster/lockstate
/gohan/cluster/lockmonitoring
/gohan/cluster/sync
/config
/config/v2.0
/config/v2.0/networks
/config/v2.0/networks/id1
/config/v2.0/servers
/mykey
/state

 

 また、同じくetcdctlコマンドでwebUIから設定した内容を確認することができる。


# etcdctl --peers=http://127.0.0.1:4001 get /config/v2.0/networks/id1
{"body":"{\"description\":\"mizukoshi-description\",\"id\":\"id1\",\"name\":\"mizukoshi\",\"tenant_id\":\"tenant12\"}","version":1}

 githubで公開されているpython-etcdを使えば、pythonプログラム内でetcdを扱うことができて非常に便利だった。

github.com

 

 

dockerを使ってみる

Docker1.9をインストールすることにする。ついでにDocker ComposeとDocker Machineも一緒に入れてみる。

最新版のDockerをインストールする。

 # curl -sSL https://get.docker.com/ | sh 

インストールを完了しバージョンの確認を行う。 以下のようにVersion: 1.9.1がダウンロードされている。


# docker version
Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:12:04 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:12:04 UTC 2015
 OS/Arch:      linux/amd64
 

続いてdocker-composeをインストールする。これも最新の1.5.2をインストールする。


# curl -L https://github.com/docker/compose/releases/download/1.5.2/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose
#  chmod a+x /usr/local/bin/docker-compose

docker-machineをインストールする。


# wget https://github.com/docker/machine/releases/download/v0.5.4/docker-machine_linux-amd64
# mv docker-machine_linux-amd64 /usr/local/bin/docker-machine
# chmod a+x /usr/local/bin/docker-machine

今回はインストールのみなのでここまで。