您的位置:

CentOS 7安装OpenStack

一、安装CentOS 7

首先,我们需要下载CentOS 7镜像文件并将其刻录至启动盘。随后设置计算机从启动盘启动并进入安装界面,进行如下操作:

1、选择安装语言。我们可以选择中文或者英文等语言。

注意:以下安装示例是基于官方 CentOS-7-x86_64-DVD-2009.iso 镜像演示的。

2、选择安装位置。选择我们要安装的硬盘及分区方案。建议为根分区和交换分区各分配一个单独的分区。

3、安装软件包。默认全选即可,等待安装完成。

4、设置root账户密码。安装完成后需要设置root账户密码。

到此,CentOS 7的安装已经完成。

二、配置网络环境

在CentOS 7中配置网络环境可以使用nmtui工具,命令如下:

yum install -y NetworkManager-tui
nmtui

针对OpenStack环境部署,我们推荐使用以下网络配置方案:

1、控制节点:单独的管理网络。

2、计算节点:通常需要物理网络或VLAN来提供实例网络。

3、网络节点:物理网络或者VLAN来提供实例网络,同时需要创建子网和路由器等。

三、安装OpenStack

安装OpenStack过程中需要一系列依赖包,以下命令可以帮助我们安装这些依赖包:

yum install -y centos-release-openstack-ussuri
yum upgrade
yum install -y python-openstackclient

以下为安装各个组件的命令:

1、安装Keystone,用于认证和授权:

yum install -y openstack-keystone httpd mod_wsgi

2、安装Glance,用于镜像管理:

yum install -y openstack-glance

3、安装Nova,用于虚拟机管理:

yum install -y openstack-nova-api openstack-nova-conductor \
  openstack-nova-console openstack-nova-novncproxy \
  openstack-nova-scheduler openstack-nova-placement-api

4、安装Neutron,用于网络管理:

yum install -y openstack-neutron openstack-neutron-ml2 \
  openstack-neutron-linuxbridge ebtables

5、安装Horizon,用于Web UI管理:

yum install -y openstack-dashboard

6、安装Octavia,用于负载均衡:

yum install -y openstack-octavia-api openstack-octavia-worker \
  openstack-octavia-haproxy

四、配置OpenStack

安装完成后需要对OpenStack进行一定的配置。具体操作步骤如下:

1、配置Keystone:

在controller节点上编辑/etc/keystone/keystone.conf文件,修改如下配置项:

[database]
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
...
[token]
provider = fernet

2、配置Glance:

在controller节点上编辑/etc/glance/glance-api.conf文件,修改如下配置项:

[database]
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
...
[keystone_authtoken]
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = GLANCE_PASS

3、配置Nova:

在controller节点上编辑/etc/nova/nova.conf文件,修改如下配置项:

[database]
connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova
...
[api_database]
connection = mysql+pymysql://nova_api:NOVA_API_DBPASS@controller/nova_api
...
[keystone_authtoken]
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = nova
password = NOVA_PASS
...
[DEFAULT]
transport_url = rabbit://openstack:RABBIT_PASS@controller:5672/
...
[placement]
os_region_name = RegionOne
...
[vnc]
enabled = True
server_listen = 0.0.0.0
server_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html

4、配置Neutron:

在controller节点上编辑/etc/neutron/neutron.conf文件,修改如下配置项:

[database]
connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron
...
[keystone_authtoken]
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = neutron
password = NEUTRON_PASS
...
[DEFAULT]
transport_url = rabbit://openstack:RABBIT_PASS@controller:5672
...
[agent]
root_helper = sudo neutron-rootwrap /etc/neutron/rootwrap.conf
...
[oslo_concurrency]
lock_path = /var/lib/neutron/tmp

在controller节点上编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件,修改如下配置项:

[ml2]
type_drivers = flat,vlan,vxlan
tenant_network_types = vxlan
mechanism_drivers = linuxbridge,l2population
extension_drivers = port_security
...
[ml2_type_flat]
flat_networks = provider
...
[ml2_type_vxlan]
vni_ranges = 1:1000
...
[securitygroup]
enable_ipset = true

5、配置Horizon:

在controller节点上编辑/etc/openstack-dashboard/local_settings文件,修改如下配置项:

OPENSTACK_HOST = "controller"
ALLOWED_HOSTS = ['*']

6、配置Octavia:

在Octavia节点上编辑/etc/octavia/octavia.conf文件,修改如下配置项:

[database]
connection = mysql+pymysql://octavia:OCTAVIA_DBPASS@controller/octavia
...
[controller_worker]
amphora_driver = amphora_noop_driver
...
[haproxy_amphora]
amphora_driver = amphora_haproxy_rest_driver

五、启动OpenStack服务

完成了以上配置修改后,我们可以启动OpenStack服务,以Keystone服务为例,启动命令如下:

systemctl enable httpd.service
systemctl enable openstack-keystone.service
systemctl start httpd.service
systemctl start openstack-keystone.service

依次启动其他服务即可,具体命令可以参考各组件的官方文档。

六、总结

通过以上步骤,我们可以在CentOS 7上安装并配置OpenStack,实现云计算环境的搭建。在实际操作中,还需要结合具体情况进行调整和优化,以达到最佳的性能和稳定性。