OpenStack Rocky 集群部署
环境
controller1
操作系统
CentOS 7.6.1810
网络
ens3: 192.168.2.171
ens4: 未配置
硬盘
/dev/vda: 30G 系统盘
/dev/vdb: 30G 空闲盘
controller2
操作系统
CentOS 7.6.1810
网络
ens3: 192.168.2.172
ens4: 未配置
硬盘
/dev/vda: 30G 系统盘
/dev/vdb: 30G 空闲盘
controller3
操作系统
CentOS 7.6.1810
网络
ens3: 192.168.2.173
ens4: 未配置
硬盘
/dev/vda: 30G 系统盘
/dev/vdb: 30G 空闲盘
修改 SELINUX 模式
[all]
系统优化
[all]
配置 IP
[controller1]
[controller2]
[controller3]
配置主机名
[controller1]
[controller2]
[controller3]
配置 hosts 文件
[all]
配置本地源
[all]
防火墙放行
[all]
配置 controller1 免密登录其他节点
生存密钥并发送公钥到其它节点
[controller1]
验证
[controller1]
安装基础软件包
[all]
配置密码及相关变量
[all]
配置网络时间
安装软件
[all]
设置时区
[all]
启动服务并设置开机自启
[all]
Pacemaker
安装软件包
[all]
启动服务并设置开机自启
[all]
设置
hacluster用户密码[all]
相互认证
[controller1]
创建
openstack-cluster集群[controller1]
启动集群并设置自启
[controller1]
设置集群选项
[controller1]
创建虚拟 IP
查看集群状态
[all]
Haproxy
安装软件包
[all]
修改配置文件
[all]
配置内核参数以允许非本地 IP 绑定
[all]
启动服务,并设置开机自启
[all]
防火墙放行
[all]
验证
浏览器访问: http://192.168.2.170:8888/admin 用户名:admin 密码:
$HAPROXY_PASS变量
MariaDB Galera Cluster
安装软件包
[all]
修改配置文件
[all]
启动集群
[controller1]
[other]
注意:依次启动,成功后启动下一个
设置开机自启
[all]
创建
haproxy数据库用户[controller1]
配置
Haproxy并重启服务[all]
验证
haproxy连接[all]
RabbitMQ Cluster
安装软件包
[all]
配置监听 IP
[all]
单个节点启动,并将 cookie 负责给其他节点
[controller1]
在其它节点,修改 cookie 文件所有者及权限,设置 rabbitmq 开机自启并启动
[other]
除第一个节点外,在每个节点上运行以下命令
[other]
验证节点是否正在运行
[all]
要确保在所有正在运行的节点上镜像除具有自动生成的名称的队列之外的所有队列,请
ha-mode通过在其中一个节点上运行以下命令将策略密钥设置为 all[controller1]
创建
openstack用户并设置权限[controller1]
验证
[all]
Memcached
安装软件包
[all]
修改配置文件
[all]
启动服务并设置开机自启
[all]
Ceph Cluster
创建 ceph 用户
cephuser,并设置免密 sudo 权限[all]
设置 controller1 节点
cephuser用户互信[all]
验证互信
[controller1]
安装部署工具
ceph-deploy[all]
创建部署临时文件目录
[controller1]
清理环境
[controller1]
安装软件包
[all]
创建集群
[controller1]
设置副本数
[controller1]
初始 monitor(s)、并收集所有密钥
[controller1]
复制密钥到您的管理节点和你的
Ceph的节点,以便您可以使用ceph CLI[controller]
部署管理器守护程序
[controller1]
创建 OSD
[controller1]
查看状态
[all]
Identity service
创建数据库及用户
[controller1]
安装软件包
[all]
修改配置文件
[all]
填充数据库
[controller1]
初始化 Fernet 令牌
[controller1]
拷贝 Fernet 令牌到其它节点
[controller1]
设置 Fernet 密钥存储库文件权限
[all]
引导 Identity 服务
[controller1]
配置
wsgi-keystone.conf和httpd.conf[all]
创建
wsgi-keystone.conf链接[all]
启动
httpd并设置开机自启[all]
修改
haproxy配置并重启服务[all]
配置管理帐户
[controller1]
创建
service项目[controller1]
创建
user角色[controller1]
admin用户设置默认项目admin[controller1]
取消
OS_AUTH_URL和OS_PASSWORD环境变量[controller1]
创建
admin-openrc脚本[all]
验证
[all]
Image service
创建数据库及用户
[controller1]
创建
glance用户,添加到service项目并设置admin权限[controller1]
创建
glance服务[controller1]
创建 api 端点
[controller1]
安装软件包
[all]
配置
/etc/glance/glance-api.conf文件[all]
配置
/etc/glance/glance-registry.conf[all]
填充数据库
[controller1]
启动服务,检查状态并设置开机自启
[all]
加载预置元数据
[controller1]
修改
haproxy配置并重启服务[all]
Glance 对接 Ceph
创建
images存储池[controller1]
创建
glance用户[controller1]
将
client.glance密钥复制到glance api节点[controller1]
配置
/etc/glance/glance-api.conf[all]
重启服务器
[all]
验证
[controller1]
安装配置 Compute 服务-控制节点
创建数据库及用户
[controller1]
创建
nova用户,添加到service项目并设置admin权限[controller1]
创建
nova服务[controller1]
创建
Nova Api端点[controller1]
创建
placement用户,添加到service项目并设置admin权限[controller1]
创建
placement服务[controller1]
创建
Placement API端点[controller1]
安装软件包
[all]
配置
/etc/nova/nova.conf[all]
配置
/etc/httpd/conf.d/00-nova-placement-api.conf[all]
重启 httpd 服务
[all]
填充
nova-api和placement数据库[controller1]
注册
cell0数据库[controller1]
创建
cell1单元格[controller1]
填充
nova数据库[controller1]
验证 nova
cell0和cell1是否正确注册[controller1]
启动服务,检查状态并设置开机自启
[all]
修改
haproxy配置,并重启服务[all]
防火墙放行
[all]
安装配置 Compute 服务-计算节点
安装软件包
[all]
配置
/etc/nova/nova.conf[all]
配置 qemu 虚拟化
[all]
配置预留资源
[all]
启动服务,检查状态并设置开机自启
[all]
将计算节点添加到
cell数据库[controller1]
验证
[all]
安装配置 Neutron-控制节点
创建数据库及用户
[controller1]
创建
neutron用户,添加到service项目并设置admin权限。[controller1]
创建
neutron项目[controller1]
创建网络服务端点
[controller1]
配置
haproxy并重启服务[all]
安装软件包
[all]
配置
/etc/neutron/neutron.conf[all]
配置
/etc/neutron/plugins/ml2/ml2_conf.ini[all]
配置
/etc/neutron/plugins/ml2/linuxbridge_agent.ini[all]
配置第 3 层代理
[all]
配置 DHCP 代理
[all]
配置元数据代理
[all]
配置 Compute 服务使用 NetWorking 服务
[all]
创建初始化脚本软链
[all]
填充数据库
[controller1]
重新启动 Compute API 服务
[all]
启动服务,检查状态并设置开机自启
[all]
安装配置 Neutron 服务-计算节点
安装软件包
[all]
配置
/etc/neutron/neutron.conf[all]
配置 Linux 桥接代理
[all]
配置 Compute 服务以使用 Networking 服务
[all]
重启 Compute 服务
[all]
启动服务并设置开机自启
[all]
检验
[all]
创建外部网络
[controller1]
创建外部网络子网
[contrller1]
创建内部网络
[controller1]
创建内部网络子网
[controller1]
创建路由
[controller1]
内部网络添加路由
[controller1]
路由设置外部网关
[controller1]
安装配置 Cinder 服务-控制节点
创建数据库及用户
[controller1]
创建
cinder用户,添加到service项目并设置admin权限[controller1]
创建
cinderv2和cinderv3服务实体[controller1]
创建
Block Storage服务 API 端点[controller1]
安装软件包
[all]
配置
/etc/cinder/cinder.conf文件[all]
配置
Compute使用Cinder[all]
填充数据库
[controller1]
重新启动
Compute API服务[all]
启动
Block Storage服务并将其配置为在系统引导时启动[all]
配置
haproxy并重启服务[all]
Compute 和 Cinder 对接 Ceph 存储
创建存储池
[controller1]
创建
cinder用户[controller1]
将
client.cinder密钥复制到cinder-volume和nova-compute节点[controller1]
在
nova-compute的节点上创建一个密钥的临时副本[all]
在
nova-compute节点上把密钥加进 libvirt 、然后删除临时副本[all]
安装软件包
[all]
配置
/etc/cinder/cinder.conf文件[all]
配置
nova-compute节点/etc/nova/nova.conf[all]
启用 rbd cache 功能
[all]
配置热迁移
[all]
重启
nova-compute节点服务[all]
启动
cinder-volume节点服务并设置开机自启[all]
安装配置 Dashboard
安装软件包
[all]
修改配置
[all]
重启
httpd和Memcached[all]
配置
haproxy并重启服务[all]
防火墙放行
[all]
验证
打开浏览器,访问:http://192.168.2.170/dashboard/
域:default 用户名:admin 密码:
$ADMIN_PASS变量值
服务状态检测脚本
[all]
服务重启脚本
[all]
配置 Octavia
创建数据库和用户
[controller1]
创建
octavia用户,添加到service项目并设置admin权限[controller1]
创建
octavia服务[controller1]
创建
Octavia Api端点[controller1]
切换到 Octavia 用户
[all]
安装软件包
[all]
创建证书
[controller1]
拷贝证书到其它节点
[controller1]
修改配置文件证书部分
[all]
创建 ssh key 并上传
[controller1]
拷贝 ssh key 到其它节点
[controller1]
修改配置文件 ssh key 部分
[all]
创建镜像和上传(可以在其它机器制作)
[controller1]
修改镜像部分配置文件
[all]
创建机型
[controller1]
修改机型部分配置
[all]
创建网络和防火墙
[controller1]
修改网络部分配置
[all]
创建和配置监控网络接口
[all]
物理机绑定监控管理网络接口
[all]
修改其它配置
设置文件权限
[all]
填充数据库
[controller1]
启动服务
[all]
配置
haproxy并重启服务[all]
最后更新于