一、安装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,实现云计算环境的搭建。在实际操作中,还需要结合具体情况进行调整和优化,以达到最佳的性能和稳定性。