基于 CentOS 8 手工部署 OpenStack Victoria 版本(二)-- 部署环境配置

一、OpenStack 软件包安装

1.1 安装 OpenStack 客户端

所有节点均需要安装
[root@localhost ~]# yum install python3-openstackclient -y

1.2 密码配置

  1. 在 OpenStack 中涉及到很多的账号和密码,为了简化后续的安装过程,我们这里可以将账号密码提前规划好

2. 可以使用 pwgen 等工具生成账号和密码,使用下面的命令可以生成随机字符串,然后将这个字符串作为密码,来增强安全性

[root@localhost ~]# openssl rand -hex 10
dae83e7e0d0654c95aa3
在实际的生产环境中密码可以使用上述方法生成密码,以此来增加密码的强度。这里为了简化安装,所有密码均使用:“openstack”,所有的账号均使用对应的组件名,生产环境禁止这样操作!

二、SQL 数据库 -- MariaDB

OpenStack 服务一般会使用数据库来存储信息,所以我们在控制节点上安装 MariaDB 数据库,用来存储 OpenStack 服务的信息

2.1 安装和配置组件

1. 安装软件包

[root@controller ~]# yum install mariadb mariadb-server python2-PyMySQL -y

2. 配置软件,编辑配置文件 vim /etc/my.cnf.d/openstack.cnf(该文件一般不存在,需要自己创建,为了提高安全性可以提前将 /etc/my.cnf.d 目录备份),创建一个 [mysql] 部分,设置控制节点的 IP 地址并允许其他节点通过管理网络进行访问

[mysqld]
bind-address = 192.168.10.11

default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8

3. 启动数据库服务并设置为开机自启

[root@controller ~]# systemctl enable mariadb.service
[root@controller ~]# systemctl start mariadb.service

4. 运行mysql_secure_installation 脚本来完成数据库的安全配置,为数据库 root 帐户设置密码,禁止 root 用户远程登录,并删除测试库

[root@controller ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):    //输入初始密码,初始密码为空,直接回车
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] Y    //回复 “Y” 修改 root 密码
New password:     //新建 root 密码
Re-enter new password:     //重新输入一遍密码
Password updated successfully!
Reloading privilege tables..
 ... Success!

---- 省略后续出,后面所有的选项均输入 “Y” ----

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

 

2.2 验证

  1. 登录数据库
[root@controller ~]# mysql -u root -p
Enter password:     //输入数据库的密码回车
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 17
Server version: 10.3.28-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

2. 查看数据库

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.001 sec)

3. 退出数据库

MariaDB [(none)]> exit;
Bye
[root@controller ~]# 

 

三、消息队列 -- RabbitMQ

消息队列是用来协调 OpenStack 各个服务之间的操作和状态信息的一个组件,所以我们在控制节点上安装 RabbitMQ,来完成 OpenStack 各个服务之间操作和状态信息的协调

3.1 安装和配置组件

  1. 安装软件包
[root@controller ~]# yum install rabbitmq-server -y

2. 启动消息队列服务并设置为开机自启

[root@controller ~]# systemctl enable rabbitmq-server.service
[root@controller ~]# systemctl start rabbitmq-server.service

3. 添加一个 openstack 用户,第一个 openstack 为用户名,第二个为密码

[root@controller ~]# rabbitmqctl add_user openstack openstack
Adding user "openstack" ...

4. 为 openstack 用户赋予配置、读、写权限

[root@controller ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Setting permissions for user "openstack" in vhost "/" ...

 

四、Memcached

Memcached 是一个自由开源的,高性能,分布式内存对象缓存系统。OpenStack 中的身份服务认证机制使用 Memcached 来缓存 tokens,通常 Memcached 服务部署在计算节点上

4.1 安装和配置组件

  1. 安装软件包
[root@controller ~]# yum install memcached python3-memcached -y

2. 编辑配置文件 vim /etc/sysconfig/memcached ,配置服务使用控制节点的 IP 地址以此来允许其他节点通过管理网络访问该服务

OPTIONS="-l 127.0.0.1,::1,controller"

3. 启动服务并设置为开机自启

[root@controller ~]# systemctl enable memcached.service
[root@controller ~]# systemctl start memcached.service

五、Etcd

OpenStack 服务可以使用 Etcd(分布式可靠键值存储)进行分布式键锁定、存储配置、跟踪服务活动性和其他情况。所以我们在控制节点上安装该服务

5.1 安装和配置组件

  1. 安装软件包
[root@controller ~]# yum install etcd -y

2. 编辑配置文件 vim /etc/etcd/etcd.conf,只需要对以下列出的选项进行修改,其他内容不要改动,这里将地址配置为管理网络的 IP 地址以此来允许其他节点通过管理网络访问到该服务

#[Member]
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://10.0.0.11:2380"
ETCD_LISTEN_CLIENT_URLS="http://10.0.0.11:2379"
ETCD_NAME="controller"
#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.0.0.11:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://10.0.0.11:2379"
ETCD_INITIAL_CLUSTER="controller=http://10.0.0.11:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
ETCD_INITIAL_CLUSTER_STATE="new"

3. 启动服务并设置为开机自启

[root@controller ~]# systemctl enable etcd
[root@controller ~]# systemctl start etcd

THE END