第 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 管理的服务列表:
| 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)服务配置:
			
本例输出显示了有关 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 文件。