openstack上に一からrancherクラスタを構築してみる。
概要
openstack環境を構築し、その上にrancherクラスタを作成した。
openstackのインストール手順は別途記録するとして、今回はrancherクラスタを作成するまでの手順を忘れないようにメモ。
目標
今回はrancher-serverとrancher-agent(2台)の併せて3台の構成。osはcoreosを使用。 構成とIPアドレスは以下のとおり。rancherサーバにはfloating ip を割り振る。
host名 | private -ip | Floating IP |
---|---|---|
rancher-server | 192.168.1.9 | 192.168.11.110 |
rancher-node1 | 192.168.1.12 | |
rancher-node2 | 192.168.1.5 |
準備
coreosのイメージ作成
coreosのopenstack用imageを取得。
$ wget https://stable.release.core-os.net/amd64-usr/current/coreos_production_openstack_image.img.bz2 $ bunzip2 coreos_production_openstack_image.img.bz2
取得したimageをopenstackのglanceへ追加しておく。
キーペアの作成
キーペアを作成する、作成したキーペア名は home-network-key にした。 作成したキーペアはダウンロード後配置しておく。今回は~/.ssh/pemfile以下に配置した。
セキュリティグループの作成
rancher用のセキュリティグループを作成する。
を追加。
rancher-serverの作成
rancher-server用インスタンスの作成
準備で作成したキーペア・セキュリティグループを指定。 coreosのimageからインスタンスを作成する。
この時に 設定 > コンフィグドライブ のチェックをつける。
これをやらないとsshのキーペアが読み込まれないらしい。
rancher-server立ち上げ
ログインユーザはcoreos
$ ssh -i ~/.ssh/pemfile/home-network-key.pem core@192.168.11.110
dockerのバージョンを確認しておく。
$ docker --version Docker version 1.12.6, build a82d35e
rancher-server の起動
$ docker run -d --restart=always -p 8080:8080 rancher/server
数分したらプロセスが起動しているはず。
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ebbadd860326 rancher/server "/usr/bin/entry /usr/" 16 minutes ago Up 16 minutes 3306/tcp, 0.0.0.0:8080->8080/tcp loving_bhaskara
これでrancher-serverのインストールが完了。
へアクセスすればdashboardが開く。
dashboardは右下のプルダウンから日本語に変更できるので、英語ができない私は変更しておく。
rancher-agentの作成
インスタンスを作成しておく。
インスタンスを2つ作成。openstackだと本当に簡単
イメージはcoreosを使用。キーペア、セキュリティグループは別で作っても良かったが、今回はそのままrancher-serverと同じものを使用。
rancher の設定
rancher-serverのdashboardを開き インフラストラクチャ > ホスト > ホストの追加 と進む。
ホスト登録URLがhttp://192.168.11.110:8080になっているが、今回agentからはプライベートIPでアクセスするためhttp://192.168.1.9:8080へ変更する。
再度ホストの追加を選択し、⑤のコマンドをagent-nodeの各インスタンスで実行する。
あとは待っていればdashboardにノードが追加される。
最後に
openstackとcoreosを使用すると、とても簡単にrancherのクラスタを構築できた。
もっと良いやり方や、変えたほうが良い箇所があれば、ぜひ教えてください。