第 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 创建的配置,您需要执行以下进程:

  1. 安装和配置外部负载均衡器。
  2. 使用 heat 模板参数配置和部署 overcloud,以将 overcloud 与外部负载均衡器集成。这需要负载均衡器和潜在的节点的 IP 地址。

在将 overcloud 配置为使用外部负载均衡器前,请确保在 overcloud 上部署并运行高可用性。

1.1. 为外部负载均衡器准备您的环境

要为外部负载均衡器准备您的环境,首先创建一个节点定义模板,并使用 director 注册空白节点。然后,检查所有节点的硬件,并手动标记节点到配置集。

使用以下工作流准备您的环境:

  • 创建节点定义模板,并使用 Red Hat OpenStack Platform director 注册空白节点。instackenv.json 的节点定义模板是一个 JSON 格式文件,其中包含用于注册节点的硬件和电源管理详情。
  • 检查所有节点的硬件。这样可确保所有节点都处于 manageable 状态。
  • 手动将节点标记为配置集。这些配置集标签与节点与类型匹配。然后,类别分配到一个部署角色。

流程

  1. stack 用户身份登录 director 主机,再提供 director 凭证:

    $ source ~/stackrc
  2. 在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"
            }
        ]
    }
  3. 将文件保存到 stack 用户的主目录 /home/stack/instackenv.json 中,然后将其导入到 director,然后将节点注册到 director:

    $ openstack overcloud node import ~/instackenv.json
  4. 将内核和 ramdisk 镜像分配给所有节点:

    $ openstack overcloud node configure
  5. 检查每个节点的硬件属性:

    $ openstack overcloud node introspect --all-manageable
    重要

    节点必须处于可管理的状态。确保此进程完成运行。它可能需要 15 分钟来检查这些裸机节点。

  6. 获取节点列表以识别它们的 UUID:

    $ openstack baremetal node list
  7. 通过在每个节点的 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:computeprofile:control 选项将节点标记为每个对应的配置集。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.