第 6 章 使用 HAProxy 负载均衡流量


HAProxy 服务为高可用性集群中的 Controller 节点提供流量负载平衡,以及记录和示例配置。

haproxy 软件包包含 haproxy 守护进程,它对应于同一名称的 systemd 服务。Pacemaker 将 HAProxy 服务作为名为 haproxy-bundle 的高可用性服务进行管理。

有关 HAProxy 的更多信息,请参阅 Load Balancer 管理指南中的 HAProxy 配置 章节。

有关验证 HAProxy 是否已正确配置的详情,请参阅 KCS 文章 How can verify my haproxy.cfg 是否已正确配置为负载平衡 openstack 服务?

6.1. HAProxy 如何工作

director 可以配置大多数 Red Hat OpenStack Platform 服务以使用 HAProxy 服务。director 在 /var/lib/config-data/haproxy/etc/haproxy/haproxy.cfg 文件中配置这些服务,它会指示 HAProxy 在每个 overcloud 节点上运行。

下表显示了 HAProxy 管理的服务列表:

Expand
表 6.1. 由 HAProxy 管理的服务

Nhce

cinder

glance_api

Gnocchi

haproxy.stats

heat_api

heat_cfn

Horizon

keystone_admin

keystone_public

mysql

neutron

nova_metadata

nova_novncproxy

nova_osapi

nova_placement

对于 haproxy.cfg 文件中的每个服务,您可以看到以下属性:

  • 侦听 :侦听请求的服务名称。
  • bind :服务正在侦听的 IP 地址和 TCP 端口号。
  • 服务器 :使用 HAProxy、IP 地址和侦听端口的每个 Controller 节点服务器的名称,以及服务器的附加信息。

以下示例显示了 haproxy.cfg 文件中的 OpenStack Block Storage(cinder)服务配置:

listen cinder
  bind 172.16.0.10:8776
  bind 192.168.1.150:8776
  mode http
  http-request set-header X-Forwarded-Proto https if { ssl_fc }
  http-request set-header X-Forwarded-Proto http if !{ ssl_fc }
  option httpchk
  server overcloud-controller-0 172.16.0.13:8777 check fall 5 inter 2000 rise 2
  server overcloud-controller-1 172.16.0.14:8777 check fall 5 inter 2000 rise 2
  server overcloud-controller-2 172.16.0.15:8777 check fall 5 inter 2000 rise 2
Copy to Clipboard Toggle word wrap

本例输出显示了有关 OpenStack Block Storage(cinder)服务的以下信息:

  • 172.16.0.10:8776:内部 API 网络(VLAN201)上的虚拟 IP 地址和端口在 overcloud 中使用。
  • 192.168.1.150:8776: External Network(VLAN100)上的虚拟 IP 地址和端口提供从 overcloud 外部访问 API 网络。
  • 8776: OpenStack Block Storage(cinder)服务正在侦听的端口号。
  • 服务器 :控制器节点名称和 IP 地址。HAProxy 可将请求定向到这些 IP 地址到 服务器 输出中列出的其中一个 Controller 节点。
  • httpchk :在 Controller 节点服务器上启用健康检查。
  • 的第 5 分:失败健康检查数以确定服务离线。
  • 2000 年间 :连续两次健康检查之间的间隔,以毫秒为单位。
  • 出现了 2:成功健康检查的数量,以确定该服务正在运行。

有关您可以在 haproxy.cfg 文件中使用的设置的更多信息,请参阅安装 haproxy 软件包的任何节点上的 /usr/share/doc/haproxy-[VERSION]/configuration.txt 文件。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat