第 31 章 RHOSP 负载均衡
31.1. 负载均衡器服务的限制
Red Hat OpenStack Platform (RHOSP) 上的 OpenShift Container Platform 集群使用 Octavia 来处理负载均衡器服务。因此,此类集群有很多功能限制。
RHOSP Octavia 有两个支持的供应商: Amphora 和 OVN。这些供应商在可用功能以及实施详情方面有所不同。这些差异会影响在集群中创建的负载均衡器服务。
31.1.1. 本地外部流量策略
您可以在负载均衡器服务上设置外部流量策略 (ETP) 参数 .spec.externalTrafficPolicy
,以在到达服务端点 pod 时保留传入流量的源 IP 地址。但是,如果您的集群使用 Amphora Octavia 供应商,流量的源 IP 将替换为 Amphora 虚拟机的 IP 地址。如果您的集群使用 OVN Octavia 供应商,则不会发生此行为。
将 ETP
选项设置为 Local
需要为负载均衡器创建运行状况监控器。如果没有健康监控器,流量可以路由到没有功能端点的节点,这会导致连接丢弃。要强制 Cloud Provider OpenStack 创建运行状况监视器,您必须将云供应商配置中的 create-monitor
选项的值设置为 true
。
在 RHOSP 16.2 中,OVN Octavia 供应商不支持健康监控器。因此,不支持将 ETP 设置为 local。
在 RHOSP 16.2 中,Amphora Octavia 供应商不支持 UDP 池中的 HTTP 监视器。因此,UDP 负载均衡器服务会改为创建 UDP-CONNECT
监视器。由于实现详情,此配置只能使用 OVN-Kubernetes CNI 插件正常工作。当使用 OpenShift SDN CNI 插件时,UDP 服务会变得不可靠。这个问题也会影响任何 RHOSP 版本中的 OVN Octavia 供应商,因为驱动程序不支持 HTTP 健康监控器。