简介
最近在学习openstack,为了更好的实践,自己准备接下来一点一点开始部署openstack,openstack组件众多,部署时可能比较复杂。本次使用的是openstack的pike,不同版本之间可能会有差异,自己可以参照官方文档进行部署。部署环境为CentOS Linux release 7.6.1810 (Core)。首先说明下,openstack不同组件可以部署到不同的设备上,本次自己实验,未使用多个环境,目前把所有服务部署到了同一台设备上,设备的IP地址为192.168.46.130,接下来我们先开始部署openstack需要的一些基本环境。
MySQL安装和配置
openstack需要使用到mysql数据库,接下来我们安装mysql,并作基本配置
安装MySQL
# yum install mariadb mariadb-server python2-PyMySQL
配置MySQL
编辑/etc/my.cnf.d/openstack.cnf,在此处是新创建了一个openstack使用的配置文件
[mysqld] bind-address = 192.168.46.130 #绑定本机IP地址 default-storage-engine = innodb innodb_file_per_table = on max_connections = 4096 collation-server = utf8_general_ci character-set-server = utf8 #使用UTF-8的字符集
启动服务
# systemctl enable mariadb.service # systemctl start mariadb.service
消息队列
openstack组件间的交互会用到消息队列,本次安装使用的是rabbitmq,当然也可以使用其他种类的消息队列
安装rabbitMQ
# yum install rabbitmq-server
启动服务
# systemctl enable rabbitmq-server.service # systemctl start rabbitmq-server.service
添加用户
添加一个openstack用户
# rabbitmqctl add_user openstack RABBIT_PASS Creating user "openstack" ...
设置权限
# rabbitmqctl set_permissions openstack ".*" ".*" ".*" Setting permissions for user "openstack" in vhost "/" ...
Memcached
Memcached为做认证的缓存,缓存keystone的一些token或用户名密码信息。
安装Memcached
# yum install memcached python-memcached
配置
编辑/etc/sysconfig/memcached文件,配置使用memcached的IP地址
OPTIONS="-l 192.168.46.130,::1"
启动服务
# systemctl enable memcached.service # systemctl start memcached.service
安装openstack
我们使用的openstack的pike版本,下边安装openstack repository
# yum install centos-release-openstack-pike
安装完成后在/etc/yum.repos.d/会有CentOS-OpenStack-pike.repo,此为openstack的yum源
安装openstackclient
# yum install python-openstackclient
安装完成openstackclient就会有了一些openstack的命令,在后续openstack的组件部署中会用到。
其他
对centos系统也需要做一些基本的修改,关闭selinux,打开/etc/sysconfig/selinux,设置SELINUX=disable
为了防止其他影响,最好清空防火墙规则,执行如下命令:
iptables -F
到此为止部署openstack的前期工作就做完了,下边开始部署openstack的各组件。