发版日志
v4.3.0
新功能和优化
- RBAC 最小权限和角色隔离。 operator 不再管理集群级 RBAC 资源,并且已从所有资源规则中移除
deletecollection。新增了五个面向用户的聚合角色 —admin、edit、view、backup和restore— 以实现职责分离。SkipRuntimeRBACCreation配置选项已被移除;现在 operator 会在运行时始终创建命名空间级别的ServiceAccount和RoleBinding。有关详情,请参见 RBAC Architecture 和 Assign PostgreSQL RBAC Roles。 - Cross-Cluster Replication (XCR) 稳定性。 为 XCR 连接添加了
statement_timeout,并抑制了无效的错误日志。当没有同步从节点就绪时,会保护 XCR 元数据写入;在备用集群缩容时,会清理孤立的复制槽。移除了BeforeClusterSync中可能影响健康从节点的激进槽位移除逻辑,并且去除了preReconcile中针对基于 LoadBalancer 的备用集群的不必要本地数据库连接尝试。 - 可靠性修复。
waitForPodDeletion现在除了 informer channel 之外,还会轮询 Kubernetes API,从而消除因漏掉 Delete 事件而导致的 10 分钟 worker 卡死问题(在 IPv6 / kube-ovn 集群中观察到)。- 集群生命周期期间的 Patroni 状态更新现在不再是致命错误 — 临时性的 Patroni API 错误会被记录为 warning,并且不再将集群置为
SyncFailed/AddFailed。同时修复了一个 defer 变量捕获 bug,其中 Patroni 错误会泄漏到外层延迟执行的状态设置闭包中。 - 修复了在使用 LoadBalancer Service 进行复制时 external-IP 为空的问题。
- 修复了恢复错误和 CSV 生成问题。
- 构建和安全性。
- Renovate 已集成到各个 release 分支中,用于自动化依赖管理。
- Go toolchain 已升级到 v1.26;上游 Zalando 组件(operator、operator-ui、logical-backup)已更新到 v1.15.0;Spilo 已使用最新安全修复重新构建。
- 批量应用了针对
golang.org/x/crypto、golang.org/x/net、logrus、requests及相关依赖的 Go module 安全补丁。
已修复问题
此次发版无相关问题。
已知问题
此次发版无相关问题。
v4.2.0
新功能和优化
- 支持在 PSA 受限模式下部署 Postgres 实例。
- 支持使用 Load Balancer Service 类型进行热备集群复制。
- 修复了多个 CVE。
- 移除了对 PostgreSQL 11 和 12 的支持。
已修复问题
此次发版无相关问题。
已知问题
此次发版无相关问题。