第 1 章 将 overcloud 配置为使用外部负载均衡器
在 Red Hat OpenStack Platform (RHOSP)中,overcloud 将多个 Controller 节点用作高可用性集群,以确保 OpenStack 服务的最大操作性能。集群还为 OpenStack 服务提供负载均衡,该服务平均将流量分发到 Controller 节点,并减少每个节点的服务器过载。
默认情况下,overcloud 使用名为 HAProxy 的开源工具来管理负载平衡。HAProxy 负载均衡流量到运行 OpenStack 服务的 Controller 节点。haproxy
软件包包含侦听传入流量的 haproxy
守护进程,包括日志记录功能和示例配置。
overcloud 还使用高可用性资源管理器 Pacemaker 将 HAProxy 作为高可用性服务控制。这意味着 HAProxy 在每个 Controller 节点上运行,并根据您在每个配置中定义的一组规则分发流量。
您还可以使用外部负载均衡器来执行此分发。例如,您的组织可能会使用基于硬件的专用负载均衡器来处理到 Controller 节点的流量分布。要定义外部负载均衡器和 overcloud 创建的配置,您需要执行以下进程:
- 安装和配置外部负载均衡器。
- 使用 heat 模板参数配置和部署 overcloud,以将 overcloud 与外部负载均衡器集成。这需要负载均衡器和潜在的节点的 IP 地址。
在将 overcloud 配置为使用外部负载均衡器前,请确保在 overcloud 上部署并运行高可用性。
1.1. 为外部负载均衡器准备您的环境
要为外部负载均衡器准备您的环境,首先创建一个节点定义模板,并使用 director 注册空白节点。然后,检查所有节点的硬件,并手动标记节点到配置集。
使用以下工作流准备您的环境:
-
创建节点定义模板,并使用 Red Hat OpenStack Platform director 注册空白节点。
instackenv.json
的节点定义模板是一个 JSON 格式文件,其中包含用于注册节点的硬件和电源管理详情。 - 检查所有节点的硬件。这样可确保所有节点都处于 manageable 状态。
- 手动将节点标记为配置集。这些配置集标签与节点与类型匹配。然后,类别分配到一个部署角色。
流程
以
stack
用户身份登录 director 主机,再提供 director 凭证:$ source ~/stackrc
在stackenv
.json
中创建节点定义模板,并根据您的环境编辑以下示例:{ "nodes":[ { "mac":[ "bb:bb:bb:bb:bb:bb" ], "cpu":"4", "memory":"6144", "disk":"40", "arch":"x86_64", "pm_type":"pxe_ipmitool", "pm_user":"admin", "pm_password":"p@55w0rd!", "pm_addr":"192.0.2.205" }, { "mac":[ "cc:cc:cc:cc:cc:cc" ], "cpu":"4", "memory":"6144", "disk":"40", "arch":"x86_64", "pm_type":"pxe_ipmitool", "pm_user":"admin", "pm_password":"p@55w0rd!", "pm_addr":"192.0.2.206" }, { "mac":[ "dd:dd:dd:dd:dd:dd" ], "cpu":"4", "memory":"6144", "disk":"40", "arch":"x86_64", "pm_type":"pxe_ipmitool", "pm_user":"admin", "pm_password":"p@55w0rd!", "pm_addr":"192.0.2.207" }, { "mac":[ "ee:ee:ee:ee:ee:ee" ], "cpu":"4", "memory":"6144", "disk":"40", "arch":"x86_64", "pm_type":"pxe_ipmitool", "pm_user":"admin", "pm_password":"p@55w0rd!", "pm_addr":"192.0.2.208" } ] }
将文件保存到
stack
用户的主目录/home/stack/instackenv.json
中,然后将其导入到 director,然后将节点注册到 director:$ openstack overcloud node import ~/instackenv.json
将内核和 ramdisk 镜像分配给所有节点:
$ openstack overcloud node configure
检查每个节点的硬件属性:
$ openstack overcloud node introspect --all-manageable
重要节点必须处于可管理的状态。确保此进程完成运行。它可能需要 15 分钟来检查这些裸机节点。
获取节点列表以识别它们的 UUID:
$ openstack baremetal node list
通过在每个节点的
properties/capabilities
参数中添加 profile 选项,手动将每个节点标记到特定的配置集。例如,要标记三个节点以使用 Controller 配置集和一个节点来使用 Compute 配置集,请使用以下命令:$ openstack baremetal node set 1a4e30da-b6dc-499d-ba87-0bd8a3819bc0 --property capabilities='profile:control,boot_option:local' $ openstack baremetal node set 6faba1a9-e2d8-4b7c-95a2-c7fbdc12129a --property capabilities='profile:control,boot_option:local' $ openstack baremetal node set 5e3b2f50-fcd9-4404-b0a2-59d79924b38e --property capabilities='profile:control,boot_option:local' $ openstack baremetal node set 58c3d07e-24f2-48a7-bbb6-6843f0e8ee13 --property capabilities='profile:compute,boot_option:local'
profile:compute
和profile:control
选项将节点标记为每个对应的配置集。
其他资源