什麼是多region:
簡單理解爲多套Openstack集羣用一套dashboard 來管理。
大體架構圖:
多Region的應用場景:
1、Openstack 集羣位於不同的區域時,可以用多Region來管理,比如阿里雲的北京地區的雲主機、上海區的雲主機等
2、可用於異構管理,比如當Kvm和Vcenter 同時被Openstack管理時,由於網絡、鏡像等原因 必須使用獨立的環境來納管,此時使用多Region來管理。
開始搭建多Region
環境:
本次採用Ansible 腳本搭建Openstack,我們搭建兩套環境 來模擬 RegionOne 和RegionTwo
Ansible 構建腳本:https://github.com/Erick-shi/Openstack-ansible-ocata
思路:
在regionOne上機器操作
創建RegionTwo的keystone 的endpoint 此時 endpoint的url的ip地址要以RegionOne 的ip一樣;
創建除了keystone服務的service 對於的endpoint 此時url的ip要和RegionTwo 的IP地址一致
在RegionTwo上操作:
修改 nova.conf、glance-api.conf、neutron.conf 、cinder.conf 等,把有關keyston 認證的密碼改爲RegionOne的對於的admin的密碼。 並且把os_region_name=“RegionTwo”
並重新啓動其服務。
vi /etc/openstack-dashboard/local_settings(可選)
AVAILABLE_REGIONS = [
('http://10.10.7.208:5000/v2.0', 'RegionOne'),
('http://10.10.7.200:5000/v2.0', 'RegionTwo'),
]
重啓httpd服務即可
下面我們來實操下:
RegionOne:
ip:192.168.1.7
hostname: vcenter
RegionTwo:
ip: 192.168.1.11
hostname: localhost
1、在regionOne上創建RegionTwo 的keyston 的endpoint
keystone-manage bootstrap --bootstrap-password ADMIN_PASS \
--bootstrap-admin-url http://192.168.1.7:35357/v3/ \
--bootstrap-internal-url http://192.168.1.7:5000/v3/ \
--bootstrap-public-url http://192.168.1.7:5000/v3/ \
--bootstrap-region-id RegionTwo
2、在regionOne上爲RegionTwo創建 其他服務的endpoint
openstack endpoint create --region RegionTwo image public http://192.168.1.11:9292
openstack endpoint create --region RegionTwo image internal http://192.168.1.11:9292
openstack endpoint create --region RegionTwo image admin http://192.168.1.11:9292
openstack endpoint create --region RegionTwo compute public http://192.168.1.11:8774/v2.1
openstack endpoint create --region RegionTwo compute internal http://192.168.1.11:8774/v2.1
openstack endpoint create --region RegionTwo compute admin http://192.168.1.11:8774/v2.1
openstack endpoint create --region RegionTwo placement public http://192.168.1.11:8778
openstack endpoint create --region RegionTwo placement internal http://192.168.1.11:8778
openstack endpoint create --region RegionTwo placement admin http://192.168.1.11:8778
openstack endpoint create --region RegionTwo network public http://192.168.1.11:9696
openstack endpoint create --region RegionTwo network internal http://192.168.1.11:9696
openstack endpoint create --region RegionTwo network admin http://192.168.1.11:9696
3、在RegionTwo上
修改 nova.conf、glance-api.conf、neutron.conf 、cinder.conf 等,把有關keyston 認證的密碼改爲RegionOne的對於的admin的密碼。 並且把os_region_name=“RegionTwo”
並重新啓動其服務。
4、重啓RegionOne上的httpd 服務,便可以出現以下效果
注意事項:
被對接的第二個Region 要保證資源爲空,換言之要爲一個乾淨的環境,否則會在web上報錯。
一旦對接成功, 列車的endpoint信息是RegionOne和RegonTwo上所有的endpoint的信息。 用戶是共享的用戶