2025.2 系列发布说明

17.0.0

新特性

  • 为 amphorae 后端添加了可用区配置文件中的卷区域,用于创建具有特定卷可用区的负载均衡器。

  • service 角色现在可以访问列出池中的成员,Aodh 需要此权限才能在进行评估时评估池中不健康的成员。

  • 添加了一个新模块,octavia.wsgi,作为收集 WSGI application 对象的场所。 这旨在通过为这些对象提供一致的位置来简化部署。 例如,如果使用 uWSGI,则不要

    [uwsgi]
    wsgi-file = /bin/octavia-wsgi
    

    现在可以使用

    [uwsgi]
    module = octavia.wsgi.api:application
    

    这还简化了使用其他期望模块路径的 WSGI 服务器(例如 gunicorn)的部署。

  • 通过将 [certificates]/server_certs_key_passphrase 配置选项更改为 ListOpt,添加了对 [certificates]/server_certs_key_passphrase 配置选项中多个 Fernet 密钥的支持。 第一个密钥用于加密,其他密钥用于解密,从而支持轮换密码短语。

升级说明

  • 更新控制平面后,UDP 负载均衡器需要进行故障转移才能修复 UDP 重平衡问题。

  • 默认 TLS 密码套件列表已更新为当前的“中间”推荐配置。 如果操作员和用户选择了 Octavia 默认密码套件列表,则负载均衡器需要进行故障转移才能使用新的默认列表。

  • WSGI 脚本 octavia-wsgi 已被删除。 部署工具应改为引用 Octavia 中 wsgi 模块的 Python 模块路径,octavia.wsgi.api:application,如果其选择的 WSGI 服务器支持此路径(gunicorn、uWSGI 等),或者如果不支持,则自行实现 .wsgi 脚本(mod_wsgi)。

  • [certificates]/server_certs_key_passphrase 配置选项现在是一个 ListOpt,因此可以指定多个密钥,第一个密钥用于加密,其他密钥用于解密,从而支持轮换密码短语。

  • diskimage-create.sh 已更新为默认情况下构建 Ubuntu Noble (24.04) amphora 镜像。

安全问题

  • 根据当前的 OWASP/Mozilla.org 推荐的中间兼容性,更新了默认 TLS 密码套件。 新的默认列表是

    • TLS_AES_128_GCM_SHA256

    • TLS_AES_256_GCM_SHA384

    • TLS_CHACHA20_POLY1305_SHA256

    • ECDHE-ECDSA-AES128-GCM-SHA256

    • ECDHE-RSA-AES128-GCM-SHA256

    • ECDHE-ECDSA-AES256-GCM-SHA384

    • ECDHE-RSA-AES256-GCM-SHA384

    • ECDHE-ECDSA-CHACHA20-POLY1305

    • ECDHE-RSA-CHACHA20-POLY1305

    • DHE-RSA-AES128-GCM-SHA256

    • DHE-RSA-AES256-GCM-SHA384

    • DHE-RSA-CHACHA20-POLY1305

错误修复

  • 修复了一个错误,该错误导致 Amphora 配置更新只会更新 Amphora 代理配置,但健康发送器不会使用新的控制器 IP 列表进行更新。

  • 修复了一个问题,即 UDP 侦听器可能无法及时重新平衡失败的成员服务器。 对于从现有流中删除失败的成员服务器,可能需要长达五分钟的时间。

  • 修复了一个错误,该错误导致在用“-n”标志创建的 amphora 镜像中 SSH 未被禁用。

  • 修复了用户请求已被使用的 VIP IP 地址时出现的错误报告。

  • 在 GetAmphoraNetworkConfigs 任务中忽略序列化负载均衡器类。这可以避免在 jobboard 详细信息中存储完整的图。它修复了启用 jobboard 的大型负载均衡器(图中有 ~2000+ 资源)的问题。

  • 修复了控制器 worker 中的错误消息翻译,以支持在添加动态值之前进行 i18n 翻译。

  • 为了防止 haproxy 重载期间出现 OOM,降低了 HTTPS 终止监听器的 tune.ssl.cachesize 值 (LP: #2119987)。

  • 修复了在使用 http_versiondomain_name 属性在 healthmonitor 中时 HAProxy 配置文件出现的问题。 生成的配置文件使用了 HAProxy 的已弃用/已删除功能,该修复程序更新了 HAProxy 模板以支持最新版本。

  • 修复了一个在使用 FILE_TYPE 和 EQUAL_TO 比较的 L7Rule 时,由于生成的 HAProxy 配置问题导致永远无法匹配的错误。

  • 修复了在获取负载均衡器的 additional_vips 参数时,缺少 port_id 元素的问题。

  • 修复了负载均衡器级联删除过程中的潜在竞争条件。在删除具有多个监听器的负载均衡器时,VIP 端口的安全组可能会被并发更新多次,从而产生竞争条件。

  • 使 [task_flow].persistence_connection 配置设置成为机密,因此在调试模式下启动 Octavia 应用程序时不会显示它。