openstack上のrancherでサービスを提供してみる。

概要

前回作成した、rancherクラスタは内部のネットワークに各インスタンスを配置しているため、外部へサービスの提供ができていない。

今回は新規にfloating IPを割り当てたアクセス用のホストを新規に追加し、外部からアクセスができるような構成を作成する。

目標

wordpress(なんでも良かった)を内部のhostに作成し、外部からアクセスできるようにする。

構成

今回の予定している構成は以下のとおり。

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
rancher-proxy 192.168.1.8 192.168.11.130 今回新規に追加

rancher-proxy ノードの作成

proxyインスタンスの作成

openstackでcoreosインスタンスを作成し,キーペア、セキュリティグループ、を設定する。 作成が完了したらfloating ip を割り振っておく。

rancherへhostの追加。

rancher-nodeと同様にhostの追加を実施する。 この時 インフラストラクチャ > ホストの追加 > 3.ラベルの追加 で、わかりやすい名前と値をつけておく。

今回は

  • キー:external
  • 値:true

とした。

あとは、rancher-proxyノードでdocker run コマンドを実行。

rancherのホスト画面に追加されれば完了。

サービスの作成

rancher-proxyノードが作成できたらカタログからwordpressを選択し追加する。

wordpressがスタックに追加され、稼働するのを待つ。

稼働が完了したあと、どのホストで動いているのかを確認する。(今回はrancher-node01 で動いていた。) rancher-node01で稼働していても、外部からのアクセスができないため、ロードバランサーを追加する。

スタック > wordpress > ロードバランサーを追加 より

名前 wp-lb (適当)

ポートルール

外部に公開するポートを指定し(今回は80)、対象をwordpress、 ポート 80 へ設定。

スケジューリングタブで、先ほど設定したスケジューリングのラベルを指定する。

  • キー:external
  • 値:true

稼働確認

スタック > wordpress にwp-lb が追加され、rancher-proxyで稼働していることを確認する。

http://192.168.11.130/ へアクセスし、wordpressのtop画面が開くことを確認できた。

あとは元からあるwordpress-lbを削除してしまえばきれいになる。※最初からこっちのスケジューリング変えるだけでも良かった。