2025.1 系列发布说明¶
16.0.1¶
升级说明¶
更新控制平面后,UDP 负载均衡器需要进行故障转移才能修复 UDP 重平衡问题。
错误修复¶
修复了一个错误,该错误导致 Amphora 配置更新只会更新 Amphora 代理配置,但健康发送器不会使用新的控制器 IP 列表进行更新。
修复了一个问题,即 UDP 侦听器可能无法及时重新平衡失败的成员服务器。 对于从现有流中删除失败的成员服务器,可能需要长达五分钟的时间。
在 GetAmphoraNetworkConfigs 任务中忽略序列化负载均衡器类。这可以避免在 jobboard 详细信息中存储完整的图。它修复了启用 jobboard 的大型负载均衡器(图中有 ~2000+ 资源)的问题。
为了防止 haproxy 重载期间出现 OOM,降低了 HTTPS 终止监听器的 tune.ssl.cachesize 值 (LP: #2119987)。
修复了一个在使用 FILE_TYPE 和 EQUAL_TO 比较的 L7Rule 时,由于生成的 HAProxy 配置问题导致永远无法匹配的错误。
修复了在获取负载均衡器的 additional_vips 参数时,缺少 port_id 元素的问题。
修复了负载均衡器级联删除过程中的潜在竞争条件。在删除具有多个监听器的负载均衡器时,VIP 端口的安全组可能会被并发更新多次,从而产生竞争条件。
其他说明¶
添加了一个“octavia-wsgi”脚本,用于向后兼容,因为 pbr 的 wsgi_scripts 已经不再适用于最新的 setuptools。
16.0.0¶
新特性¶
基于 Octavia Amphora 的负载均衡器现在支持在成员端口上使用 SR-IOV 虚拟功能 (VF)。
在负载均衡器 POST API 中添加了
vip_sg_ids参数。它允许在负载均衡器的 VIP 端口上设置用户定义的 Neutron 安全组列表。
在 Amphora 驱动程序中添加了 vip_sg_ids 参数,这是一个 Neutron 安全组列表。设置后,Amphora 驱动程序会将安全组应用于负载均衡器的 VIP 端口。它也不会在此端口上设置与监听器相关的任何安全组规则,但会在需要时为 VRRP 和 haproxy 对等体添加安全组规则。此功能不适用于 SR-IOV 端口,因为 Neutron 不支持这些端口上的安全组。
在 Taskflow 中添加了对 Jobboard Etcd 后端的支持。
添加了新的
[task_flow] jobboard_redis_backend_db选项。此选项允许在 redis 中使用非默认数据库作为后端。
升级说明¶
您必须更新 amphora 镜像以支持 SR-IOV 成员端口功能。
升级时,默认 RBAC 规则将从 Octavia 高级 RBAC 切换到 keystone 默认角色。这意味着 load_balancer_* 角色将不再具有访问负载均衡器 API 的权限。要继续使用 Octavia 高级 RBAC 规则,请使用提供的 octavia-advanced-rbac-policy.yaml 覆盖文件。
关键问题¶
升级时,默认 RBAC 规则将从 Octavia 高级 RBAC 切换到 keystone 默认角色。这意味着 load_balancer_* 角色将不再具有访问负载均衡器 API 的权限。要继续使用 Octavia 高级 RBAC 规则,请使用提供的 octavia-advanced-rbac-policy.yaml 覆盖文件。
安全问题¶
升级时,默认 RBAC 规则将从 Octavia 高级 RBAC 切换到 keystone 默认角色。这意味着 load_balancer_* 角色将不再具有访问负载均衡器 API 的权限。要继续使用 Octavia 高级 RBAC 规则,请使用提供的 octavia-advanced-rbac-policy.yaml 覆盖文件。请注意:keystone 默认角色比 Octavia 高级 RBAC 规则限制更少,您将不再拥有全局观察者或配额特定角色。
错误修复¶
在回滚时删除 amphora_health 表中的记录。这是必要的,因为对应 amphora 表中的记录也被删除了。这可以避免由于 amphora_health 表中的孤立记录而导致故障转移阈值的误报。
修复了在安全组规则没有定义协议(即为空)时,监听器更新期间可能出现的 AttributeError。
修复了使用 SINGLE 拓扑和 UDP 监听器的负载均衡器的问题。Amphora 现在在添加 UDP 池时发送一个 Gratuitous ARP 数据包,这使得 VIP 地址在故障转移或重用先前分配的 IP 地址后更快地可访问。
修复了在使用 Neutron 端点时,由私有 CA 签名的证书的验证问题。
修复了 PlugVIPAmphora 任务回滚时,db_lb 未定义且 get_subnet 引发 NotFound 错误的问题。当 Amphora 创建因超时失败并且在 VIP 网络被删除之前,可能会发生这种情况。结果回滚因异常而失败。