忍者ブログ

ひつ(じのひよこが)プログラミングします。
お仕事や趣味で困ったこととか、何度も「あれ?どうだったかしら」と調べたりしたこととか、作ったものとか、こどものこととかを書きます
★前は週末定期更新でしたが今は不定期更新です

2024/04    03« 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  »05

マルチリージョンにしたときの手順

現状

以下の感じで配置している。

リージョン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) に従ってセットアップしているものとする。若干古いけど、新しくなっても手順は基本的に変わらないはず。


色々入れる@リージョン B のコントローラノード

# 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 のインストールと設定を行う


KeyStone のエンドポイントを追加@リージョン A のコントローラノード

リージョン 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 のエンドポイントを追加@リージョン A のコントローラノード

同様に 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 をセットアップしたときに入れた) ので追加しなくてよい。

Glance をインストールする@リージョン B のコントローラノード

リージョン A に入れる時と同じように DB を準備し、glance 関係コンポーネント群をインストールする。[keystone_authtoken] でリージョン A の URL を入れる必要がある点と、[database] が自分自身の URL となるようにする必要がある点に注意。


Nova のエンドポイントを追加@リージョン A のコントローラノード

Glance と同様に Nova のエンドポイントを追加する。
URL がリージョン B のコントローラノードのものとなる。

サービスクレデンシャルの追加はやはり不要。

Nova をインストールする@リージョン B のコントローラノード

気を付けるべき点は [keystone_authtoken][database] に加えて [oslo_messaging_rabbit] だろうか。[oslo_messaging_rabbit] はコントローラノード B を指すこと。何も考えずにガイドのサンプルをコピペしていると案外見落とすので注意。


Neutron のエンドポイントを追加@リージョン A のコントローラノード

同様に Neutron のエンドポイントを追加する。

Neutron をインストールする@リージョン B のコントローラノード

多分、Neutron は一番複雑なサービス。設定項目も多く、見落とすポイントが多い。注意すること。

/etc/neutron/neutron.conf で注意するべきところ
[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
/etc/neutron/metadata_agent.ini で注意するべきところ
[DEFAULT] auth_uri http://controller-a:5000
auth_url http://controller-a:35357
region_name RegionTwo
nova_metadata_ip controller-b
/etc/nova/nova.conf で注意するべきところ
[neutron] url http://controller-b:9696
auth_url http://controller-a:35357
region_name RegionTwo

リージョン B のコンピュートノードをセットアップする

気を付けるポイントが上述のコントローラノードと変わらないので割愛。

PR

コメント

ただいまコメントを受けつけておりません。

ブログ内検索

P R