OpenStack 集群搭建
本文档使用 3 台主机搭建 OpenStack 集群,3 台均为控制节点。
配置 id 地址和主机名
controller 192.168.2.20
controller1 192.168.2.21
controller2 192.168.2.22
controller3 192.168.2.23
配置 hosts
[all]
echo '
192.168.2.20 controller
192.168.2.21 controller1
192.168.2.22 controller2
192.168.2.23 controller3
' >> /etc/hosts
cat /etc/hosts设置主机名
[controller1]
[controller2]
[controller3]
配置本地源
[all]
防火墙放行
个节点主机相互放行
[all]
配置 controller1 免密登录其他节点
[controller1]
SELINUX
更改 SELinux 运行模式
[all]
OpenStack packages
启用 OpenStack 源,安装 Openstack Clinet,Openstack Utils,openstack-selinux,更新软件包并重启服务器。
[all]
Network Time Protocol (NTP)
设置时区
[all]
在个节点安装chrony设置开机自启并启动。
[all]
Pacemaker
安装软件包
安装软件包,设置开机自启并启动。
[all]
创建集群
设置pcs所需的身份验证
[all]
[controller1]
创建集群
[controller1]
设置自启并启动集群
[controller1]
设置群集选项
[controller1]
创建 vip
[controller1]
查看集群状态
[controller1]
Haproxy
安装软件包
[all]
修复配置文件
[all]
配置内核参数以允许非本地 IP 绑定
[all]
将 HAProxy 添加到群集并确保 VIP 只能在 HAProxy 处于活动状态的计算机上运行
[controller1]
防火墙放行
[all]
验证
浏览器访问: http://192.168.2.20:8888/admin 用户名:admin 密码:123456
MariaDB Galera Cluster
安装软件包
[all]
配置数据库
在controller1节点对数据进行安全配置。
[controller1]
修改配置文件
[controller1]
[controller2]
[controller3]
启动集群
[controller1]
[other]
[all]
验证集群
连接数据库,查询集信息
配置 Haproxy
创建haproxy用户。
[controller1]
修改 haproxy 配置文件
[all]
重启haproxy
[controller1]
验证 Haproxy
连接 vip 地址数据库
[all]
RabbitMQ Cluster
安装软件包
[all]
配置监听 IP
[controller1]
[controller2]
[controller3]
单个节点启动,并将 cookie 负责给其他节点
[controller1]
在其它节点,修改 cookie 文件所有者及权限,设置 rabbitmq 开机自启并启动
[other]
除第一个节点外,在每个节点上运行以下命令
[other]
验证节点是否正在运行
要确保在所有正在运行的节点上镜像除具有自动生成的名称的队列之外的所有队列,请ha-mode通过在其中一个节点上运行以下命令将策略密钥设置为 all:
[controller1]
创建openstack用户并设置权限。 [controller1]
验证
[all]
Memcached
安装软件包
[all]
修改配置文件
[controller1]
[controller2]
[controller3]
设置开机自启并启动
[all]
Identity service
配置数据库
在单个节点操作即可。
[controller1]
使用数据库访问客户端以root用户身份连接到数据库服务器 :
创建keystone数据库,授予对keystone数据库的适当访问权限,刷新权限并退出:
安装配置
安装软件包
[ALL]
修改配置文件
[all]
初始化数据库
[controller1]
初始化 Fernet 密钥存储库
[controller1]
拷贝 Fernet 密钥存储库
[controller1]
设置 Fernet 密钥存储库文件权限
[all]
引导身份服务
[controller1]
配置wsgi-keystone.conf和httpd.conf
[controller1]
[controller2]
[controller3]
创建wsgi-keystone.conf链接
[all]
设置开机自启并启动
[all]
配置 Haproxy
修改 haproxy 配置
[ALL]
重启haproxy
[controller1]
创建域,项目,用户和角色
[controller1]
配置管理帐户
创建service 项目
创建demo项目
创建demo用户
创建user角色
将user角色添加到demo项目和用户
请禁用临时身份验证令牌机制
[all]
创建脚本
[all]
admin 脚本
demo 脚本
验证
[all]
Ceph Cluster
创建 ceph 用户cephuser,并设置免密 sudo 权限
[all]
拷贝密钥
[controller1]
创建部署临时文件目录
[controller1]
安装部署工具 ceph-deploy
[controller1]
清理环境
[controller1]
创建集群
[controller1]
安装软件包
[all]
初始 monitor(s)、并收集所有密钥
[controller1]
创建 OSD
[controller1]
Image service
配置数据库
[controller1]
连接数据库
创建glance数据库,授予对glance数据库的适当访问权限,刷新权限并推出。
创建用户,服务实体和端点
[controller1]
加载 admin 环境变量
创建glance用户
将admin角色添加到glance用户和 service项目
创建glance服务实体
创建 Image 服务 API 端点
安装和配置组件
安装软件包
[all]
配置/etc/glance/glance-api.conf
[all]
[controller1]
[controller2]
[controller3]
配置/etc/glance/glance-registry.conf
[ALL]
[controller1]
[controller2]
[controller3]
填充数据库
[controller1]
设置开机自启并启动
[all]
配置 Haproxy
修改 haproxy 配置
[all]
重启haproxy
[controller1]
配置 ceph 存储
创建 images 池
[controller1]
创建 Glance 用户
[controller1]
client.glance 的密钥环复制到适当的节点,并更改所有权
[controller1]
配置/etc/glance/glance-api.conf
[all]
重启服务
[all]
验证
[controller1]
获取 admin 环境
下载 cirros 镜像
上传镜像
查看镜像列表
Compute Service
配置数据库
[all]
连接数据库
创建nova_api和nova数据库,授予对数据库的适当访问权限,刷新权限并退出。
创建用户,服务实体和端点
[controller1]
获取 admin 环境变量
创建nova用户
将admin角色添加到nova用户
创建nova服务实体
创建 Compute 服务 API 端点
安装配置控制部分
安装软件包
[ALL]
配置/etc/nova/nova.conf
[ALL]
[controller1]
[controller2]
[controller3]
填充数据库
[controller1]
设置服务开机自启并启动
[all]
配置 Haproxy
[all]
配置 haproxy 配置文件
重启haproxy
[controller1]
防火墙放行
[all]
安装配置计算部分
安装软件包
[all]
配置/etc/nova/nova.conf
[all]
[controller1]
[controller2]
[controller3]
使用 qemu 虚拟类型
执行上面命令,结果为 0,需要设置如下
设置开机自启并启动
[all]
验证
[all]
获取 admin 环境变量
获取compute服务列表
Networking Service
配置数据库
[controller1]
连接数据库
创建neutron数据库,授予对数据库的适当访问权限,刷新权限并退出。
创建用户,服务实体和端点
[controller1]
获取 admin 环境变量
创建neutron用户
将admin角色添加到neutron用户
创建neutron服务实体
创建 Networking 服务 API 端点
配置 Haproxy
[all]
配置 haproxy 配置文件
重启haproxy
[controller1]
安装配置控制部分
配置私有网络类型
[all]
安装软件包
配置neutron.conf
[all]
[controller1]
[controller2]
[controller3]
配置ml2_conf.ini
[all]
配置 Linux 桥代理
[all]
[controller1]
[controller2]
[controller3]
配置第 3 层代理
[all]
配置 DHCP 代理
[all]
配置元数据代理
[all]
配置 Compute 服务以使用 Networking 服务
[all]
完成安装
创建 ML2 插件配置文件的连接
[all]
填充数据库
[controller1]
重新启动 Compute API 服务
[all]
设置网络服务开启自启并启动
[all]
安装配置计算部分
[all]
安装软件包
配置neutron.conf
neutron.conf配置私有网络类型
配置 Linux 桥代理
[all]
[controller1]
[controller2]
[controller3]
配置 Compute 服务以使用 Networking 服务
[all]
完成安装
[all]
重启 Compute 服务
设置 Linux 网桥代理开机自启并启动
验证
[controller1]
获取 admin 环境变量
获取neutron代理列表
创建网络
[controller1]
创建外部网络
创建外部网络子网
创建内部网络
创建内部网络子网
创建路由
内部网络添加路由
路由设置外部网关
Dashboard
安装配置软件
[all]
安装软件
配置文件
重新启动 Web 服务器和会话存储服务
配置 Haproxy
[all]
配置 haproxy 配置文件
重启haproxy
[controller1]
防火墙放行 80 端口
[all]
验证
打开浏览器,访问:http://192.168.2.20/dashboard/
域:default 用户名:admin 密码:ADMIN_PASS
Block Storage service
安装控制部分
配置 Haproxy
[all]
配置 haproxy 配置文件
重启haproxy
[controller1]
配置数据库
[controller1]
连接数据库
创建cinder,并赋予cinder用户权限,刷新权限并推出
创建用户和端点
[controller1]
加载admin凭证
创建cinder用户
将admin角色添加到cinder用户
创建cinder和cinderv2服务实体
创建 Block Storage 服务 API 端点
安装和配置组件
[all]
安装软件包
配置/etc/cinder/cinder.conf文件
[all]
[controller1]
[controller2]
[controller3]
填充块存储数据库
[controller1]
配置计算以使用块存储
[all]
重新启动 Compute API 服务
[all]
启动 Block Storage 服务并将其配置为在系统引导时启动
[all]
对接 Ceph 存储
创建存储池
[controller1]
创建 Cinder 用户
[controller1]
client.cinder 的密钥环复制到适当的节点,并更改所有权
[controller1]
在 nova-compute 的节点上创建一个密钥的临时副本
[all]
在计算节点上把密钥加进 libvirt 、然后删除临时副本
[all]
配置/etc/cinder/cinder.conf文件
[all]
配置计算/etc/nova/nova.conf文件
[all]
启用 rbd cache 功能
[all]
配置热迁移
[all]
重启计算节点
[all]
重启 cinder-volume
[all]
最后更新于