[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ただいまコメントを受けつけておりません。
以下の感じで配置している。
リージョンA コントローラノード ┐ │・Keystone │ │ │ │ │ │ │ │・Nova │ │・Neutron │ │・Glance │ │・Horizon │ └┰──────────────┘ ┃リージョンA コンピュートノード ┣┥・nova-compute │ ┃│・neutron-plugin-linuxbr..│ ┃└─────────────┘ ┃リージョンA コンピュートノード ┣┥・nova-compute │ ┃│・neutron-plugin-linuxbr..│ ┃└─────────────┘ ┃リージョンA コンピュートノード ┣┥・nova-compute │ ┃│・neutron-plugin-linuxbr..│ ┃└─────────────┘ ..
リージョンA コントローラノード ┐ │・Keystone │ │ ┝┓ │ │┃ │ │┃リージョンB コントローラノード ┐ │・Nova │┃│・Nova │ │・Neutron │┗┥・Neutron │ │・Glance │ │・Glance │ │・Horizon │ │ │ └┰──────────────┘ └┰──────────────┘ ┃リージョンA コンピュートノード ┃リージョンB コンピュートノード ┣┥・nova-compute │ ┣┥・nova-compute │ ┃│・neutron-plugin-linuxbr..│ ┃│・neutron-plugin-linuxbr..│ ┃└─────────────┘ ┃└─────────────┘ ┃リージョンA コンピュートノード ┃リージョンB コンピュートノード ┣┥・nova-compute │ ┣┥・nova-compute │ ┃│・neutron-plugin-linuxbr..│ ┃│・neutron-plugin-linuxbr..│ ┃└─────────────┘ ┃└─────────────┘ ┃リージョンA コンピュートノード ┃リージョンB コンピュートノード ┣┥・nova-compute │ ┣┥・nova-compute │ ┃│・neutron-plugin-linuxbr..│ ┃│・neutron-plugin-linuxbr..│ ┃└─────────────┘ ┃└─────────────┘ .. ..
KeyStone・Horizon 抜きの環境 (リージョン B) を作り、KeyStone はリージョン A のを使いまわす。
OpenStack Docs: OpenStack Installation Guide for Ubuntu (Liberty) に従ってセットアップしているものとする。若干古いけど、新しくなっても手順は基本的に変わらないはず。
# apt-get install software-properties-common
# add-apt-repository cloud-archive:liberty
# apt-get update && apt-get dist-upgrade
# apt-get install python-openstackclient
続けて mysql のインストールと設定、RabbitMQ のインストールと設定を行う
リージョン B のエンドポイントを追加する。リージョンA を作った時に次のようにしているとする。
$ openstack endpoint create --region RegionOne identity public http://controller-a:5000/v2.0
$ openstack endpoint create --region RegionOne identity internal http://controller-a:5000/v2.0
$ openstack endpoint create --region RegionOne identity admin http://controller-a:35357/v2.0
同じようにリージョン B の KeyStone エンドポイントを追加する。リージョン A でこの操作を行う点に注意。
$ openstack endpoint create --region RegionTwo identity public http://controller-a:5000/v2.0
$ openstack endpoint create --region RegionTwo identity internal http://controller-a:5000/v2.0
$ openstack endpoint create --region RegionTwo identity admin http://controller-a:35357/v2.0
URL は変わらず、リージョン名だけ変える所に注意。
同様に Glance のエンドポイントを追加する。
$ openstack endpoint create --region RegionTwo image public http://controller-b:9292
$ openstack endpoint create --region RegionTwo image internal http://controller-b:9292
これは URL がリージョン B のコントローラノードのものとなる。
サービスクレデンシャルはもう入っている (リージョン A をセットアップしたときに入れた) ので追加しなくてよい。
リージョン A に入れる時と同じように DB を準備し、glance 関係コンポーネント群をインストールする。[keystone_authtoken]
でリージョン A の URL を入れる必要がある点と、[database]
が自分自身の URL となるようにする必要がある点に注意。
Glance と同様に Nova のエンドポイントを追加する。
URL がリージョン B のコントローラノードのものとなる。
サービスクレデンシャルの追加はやはり不要。
気を付けるべき点は [keystone_authtoken]
、[database]
に加えて [oslo_messaging_rabbit]
だろうか。[oslo_messaging_rabbit]
はコントローラノード B を指すこと。何も考えずにガイドのサンプルをコピペしていると案外見落とすので注意。
同様に Neutron のエンドポイントを追加する。
多分、Neutron は一番複雑なサービス。設定項目も多く、見落とすポイントが多い。注意すること。
[database] | connection | mysql+pymysql://neutron:NEUTRON_DBPASS@controller-b/neutron |
[oslo_messaging_rabbit] | rabbit_host | controller-b |
[keystone_authtoken] | auth_uri | http://controller-a:5000 |
auth_url | http://controller-a:35357 | |
[DEFAULT] | nova_url | http://controller-b:8774/v2 |
[nova] | auth_url | http://controller-a:35357 |
region_name | RegionTwo |
[DEFAULT] | auth_uri | http://controller-a:5000 |
auth_url | http://controller-a:35357 | |
region_name | RegionTwo | |
nova_metadata_ip | controller-b |
[neutron] | url | http://controller-b:9696 |
auth_url | http://controller-a:35357 | |
region_name | RegionTwo |
気を付けるポイントが上述のコントローラノードと変わらないので割愛。
ただいまコメントを受けつけておりません。