Pike 系列发布说明¶
1.0.5-3¶
安全问题¶
正确地要求双向证书认证才能连接到 amphora agent API (CVE-2019-17134)。
1.0.4¶
安全问题¶
修复了 Amphora 证书的调试级别日志记录,用于诸如“octavia-create-amp-for-lb-subflow-octavia-generate-serverpem”(由负载均衡器故障转移触发)和“octavia-create-amp-for-lb-subflow-octavia-update-cert-expiration”之类的流程。
1.0.2¶
错误修复¶
Neutron LBaaS 在创建 VIP 端口时,会将用户的 project-id 分配给该端口,从而允许用户将 Floating-IP 附加到 VIP 端口。而 Octavia 则将 Octavia 项目的 project-id 分配给端口,使得用户无法附加 Floating IP。此补丁使 Octavia 的行为与 Neutron LBaaS 保持一致,并将用户的 project-id 分配给 Octavia 创建的 VIP 端口。
1.0.0¶
序言¶
对于 OpenStack Pike 版本,Octavia 团队很高兴地宣布 Octavia 1.0.0 版本,并引入 Octavia v2 API。Octavia 现在可以作为独立端点部署,无需 neutron-lbaas。Octavia v2 API 与 neutron-lbaas v2 API 完全向后兼容,并且是 neutron-lbaas v2 API 的超集。
新特性¶
新增 “TLS-HELLO” 类型的健康检查,以执行简单的 TLS 连接。
添加一个配置变量以禁用 TLS 终止监听器的创建。
添加一个新的配置参数来指定反亲和策略
为成员添加监控地址和端口
添加配置变量以允许禁用任一 API 版本(v1 或 v2.0)。
添加了一个配置选项,用于指定应构建 amphora 的可用区。
amphora haproxy user_group 设置现在会自动检测基于 Ubuntu、CentOS、Fedora 或 RHEL 的 amphora。
Octavia 现在有选项来限制 amphora 并发构建速率。这对于 nova 容易过载的部署可能很有用。Amphora 构建将按照以下顺序进行优先级排序:故障转移、正常、备用池构建。有关更多信息,请参阅配置指南:https://docs.openstack.org/octavia/2025.2/configuration/configref.html#haproxy_amphora.build_rate_limit
Octavia 现在有一个 v2 API,可以用作独立端点。Octavia v2 API 与 neutron-lbaas v2 API 完全向后兼容,并且是 neutron-lbaas v2 API 的超集。有关更多信息,请参阅 Octavia API 参考:https://developer.openstack.org/api-ref/load-balancer/v2/index.html
Octavia v2 API 现在支持基于角色的访问控制 (RBAC)。默认规则要求用户具有 load-balancer_* 角色才能访问 Octavia v2 API。可以使用提供的 admin_or_owner-policy.json 示例文件覆盖此设置。有关更多信息,请参阅 Octavia 策略 文档。
为 octavia 中的 lbaas 池添加 PROXY 协议支持
Octavia API 现在支持 WSGI 部署。
diskimage-create 脚本现在支持通过 DIB_DISTRIBUTION_MIRROR 环境变量使用通用下载镜像,从而取代现有的特定于发行版的元素
升级说明¶
如果用户配置了 “HTTPS” 类型的健康检查,并期望一个简单的 “TLS-HELLO” 检查,则需要使用新的 “TLS-HELLO” 类型重新创建他们的监控。
在 Octavia 的 health_monitor 表中添加 ID 列,其值与 pool_id 列相同。需要先升级数据库,然后升级并重新启动 API 服务器。
配置设置 auth_strategy 现在默认设置为 keystone。
keepalived 改进需要升级 amphora 镜像。
几个与 API 相关的变量正在移动到自己的部分 api_settings。 bind_host bind_port api_handler allow_pagination allow_sorting pagination_max_limit api_base_uri
添加了选项 ‘sync_provisioning_status’ 以启用将负载均衡器的配置状态与 neutron-lbaas 数据库同步。启用此选项将为每个 heartbeat 间隔排队一个额外的消息。
对于 diskimage-create 脚本,BASE_OS_MIRROR 环境变量已重命名为 DIB_DISTRIBUTION_MIRROR
弃用说明¶
POST 方法的以下对象的 project_id 属性现在已弃用:listener、pool、health monitor 和 member。这些对象将使用父负载均衡器的 project_id。传递到这些对象上的 project_id 值将被忽略,直到弃用周期结束,此时它们将导致错误。
haproxy user_group 不再使用。它现在会自动检测基于 Ubuntu、CentOS、Fedora 和 RHEL 的 amphora 镜像。
最终完全删除 tenant_id,因为它在 Mitaka 中随着 keystone v2 API 一起弃用了,这意味着我们在 Pike 中可以摆脱它了!
删除了 diskimage-script 的这些自定义发行版镜像元素:apt-mirror、centos-mirror、fedora-mirror
安全问题¶
请注意,虽然 Octavia v2 API 现在支持基于角色的访问控制 (RBAC),但 Octavia v1.0 API 不支持。Octavia v1.0 API 不应公开暴露,而应仅在内部使用,例如用于 neutron-lbaas octavia 驱动程序。公开可访问的 Octavia API 实例应通过 Octavia 配置文件禁用 v1.0 API。
错误修复¶
健康检查类型 “HTTPS” 现在正确执行配置的检查。这是通过禁用所有证书验证完成的,因此如果后端成员正在执行客户端证书验证,则它将无法工作。
某些版本的 HAProxy 错误地报告 DRAIN 状态的节点为 UP,并且 Octavia 代码围绕此错误报告编写。这已在某些版本的 HAProxy 中修复,现在在 Octavia 中也正确处理。现在成员可以处于 DRAINING 状态。请注意,这在将状态转发到 neutron-lbaas 的 eventstream 时被屏蔽,因此不需要兼容性更改。
允许负载均衡器的 VIP 在与管理接口相同的网络上创建。
修复了一个导致故障转移在 VIP 网络未启用 DHCP 时失败的问题。
修复了一个如果 VIP 网络在 neutron 中未指定网关,则 amphora 将无法启动 VIP 的问题。
改进了活动/待机拓扑中使用的 keepalived 系统。keepalived 现在由 amphora 代理监控健康状况(以前仅由 init 系统监控),并且已解决了 keepalived 和 haproxy 之间的 systemd 竞争条件。
解决了一个在高负载期间可能导致 neutron-lbaas 和 octavia 之间的配置状态不同步的问题。
其他说明¶
Octavia 现在有 Octavia v2 API 的最新 API 参考。它可以在这里找到:https://developer.openstack.org/api-ref/load-balancer/
Octavia 项目文档已重新组织,作为 OpenStack 文档迁移项目的一部分。Octavia 项目文档现在位于:https://docs.openstack.org/octavia/2025.2/
Octavia 将使用 OpenStack 服务类型 ‘load-balancer’。有关服务类型的更多信息,请参阅 Octavia API 参考:https://developer.openstack.org/api-ref/load-balancer/v2/index.html#service-endpoints