OpenStack多Region环境搭建

最近遇到多Region的问题,就亲自搭建个实验环境玩玩。

两台虚拟机,搭配Centos7.2的系统,采用RDO进行配置,在packstack部署文件中,将其中一台虚拟机的region name配置为RegionOne,另一台为RegionTwo,这样就省得以后再在配置文件里修改的问题,如果你的RDO部署文件配置的没有问题,两个OpenStack平台就该就准备好了。

首先,先将RegionTwo中的keystone url地址改为RegionOne的,在我的环境中只部署了glance、nova、neutron这三个组件,所以搜索这三个组件的配置文件,将涉及到5000和35357端口的配置项进行修改:

  • glance : glance-api.conf和glance-registry.conf
  • nova : nova.conf
  • neutron : neutron.conf和api-paste.ini

接着,重启RegionTwo的各个组件,因为修改过配置文件了嘛,得重新读取下:

  • systemctl restart openstack-glance-api.service openstack-glance-registry.service
  • systemctl restart openstack-nova-api.service openstack-nova-cert.service
    openstack-nova-consoleauth.service openstack-nova-scheduler.service
    openstack-nova-conductor.service openstack-nova-novncproxy.service
    openstack-nova-compute.service
  • systemctl restart neutron-server.service

此时,RegionTwo内的keystone和horizon服务就没有啥用了,所以大方的干掉他们:

  • systemctl stop httpd.service

最后,在RegionOne内,得把RegionTwo的endpoint给加进来:

  • openstack endpoint create --region RegionTwo identity
    --publicurl 'http://192.168.40.125:5000/v2.0'
    --adminurl 'http://192.168.40.125:35357/v2.0'
    --internal 'http://192.16.40.125:5000/v2.0'
    加入RegionTwo的keystone服务endpoint,但IP地址其实是RegionOne的keystone服务地址
  • openstack endpoint create --region RegionTwo neutron
    --publicurl 'http://172.16.40.126:9696'
    --adminurl 'http://172.16.40.126:9696'
    --internal 'http://172.16.40.126:9696'
    加入RegionTwo的neturon服务endpoint
  • openstack endpoint create --region RegionTwo glance
    --publicurl 'http://172.16.40.126:9292'
    --adminurl 'http://172.16.40.126:9292'
    --internal 'http://172.16.40.126:9292'
    加入RegionTwo的glance服务endpoint
  • openstack endpoint create --region RegionTwo nova
    --publicurl 'http://172.16.40.126:8774/v2/%(tenant_id)s'
    --adminurl 'http://172.16.40.126:8774/v2/%(tenant_id)s'
    --internal 'http://172.16.40.126:8774/v2/%(tenant_id)s'
    加入RegionTwo的nova服务endpoint

修改RegionTwo中的openrc,将auth url的IP改为RegionOne的keystone地址,同时注意下regionname是否是RegionTwo,一般来说,如果RDO配置正常的话这里不用关心,在RegionTwo执行openstack endpoint list,正常下能获取到所有Region的endpoint信息。至于horizon,OpenStack自身会帮你搞定,不用做任何配置。

你可能感兴趣的:(OpenStack多Region环境搭建)