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.confhttpd.conf

    [all]

  • 创建wsgi-keystone.conf链接

    [all]

  • 启动httpd并设置开机自启

    [all]

  • 修改haproxy配置并重启服务

    [all]

  • 配置管理帐户

    [controller1]

  • 创建service项目

    [controller1]

  • 创建user角色

    [controller1]

  • admin用户设置默认项目admin

    [controller1]

  • 取消OS_AUTH_URLOS_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-apiplacement数据库

    [controller1]

  • 注册cell0数据库

    [controller1]

  • 创建cell1单元格

    [controller1]

  • 填充nova数据库

    [controller1]

  • 验证 nova cell0cell1是否正确注册

    [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]

  • 创建cinderv2cinderv3服务实体

    [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-volumenova-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]

  • 重启httpdMemcached

    [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]

最后更新于