和去年圣诞节一样,Zalando 的 Postgres as a Service 团队在 2020 年底为 Kubernetes 发布了新的 Postgres Operator 版本。这算是一种传统吗?让我们来看看我们为大家带来了什么。
此版本包含对最新 PostgreSQL 主版本 Spilo 13 和 Patroni 2.0 的支持。借助此新版本和新的 Spilo 镜像,我们尝试了简单的就地升级,目前为手动执行。升级现在变得容易多了。可以通过更改 PostgreSQL 集群清单中的版本号来启动升级,并且在 pod 轮换后需要在主实例上手动运行升级脚本。尚未完全自动化,但仍然比克隆现有集群快得多。
到目前为止,在线卷大小调整(无故障转移)仅在 AWS 上受支持,并且需要特权容器来更新文件系统。使用新的 storage_resize_mode
选项,用户可以选择仅更新 PersistentVolumeClaims
,并让 Kubernetes 处理将大小调整传播到卷。这是新的默认设置,如果您仍然使用 spilo_privileged
选项,可以禁用它。
为了避免轻松删除 Postgres 清单(尽管可以轻松及时地从例如 AWS S3 恢复,但删除清单可能会产生重大影响),您现在可以启用删除保护。这可以防止您无意中删除清单。删除仅在通过注解将清单标记为删除时才执行。理想情况下,您可以在 K8s admission controller 级别补充此功能。
现在可以通过 Postgres 清单启用副本和主服务的连接池,以便您也可以轻松地将读取工作负载扩展到更大的应用程序连接数。
自 5 月份上次发布以来,还进行了许多其他改进。我们仍然很高兴看到来自我们的开发人员和 Postgres 社区的大量贡献。其中包括:
NodeAffinity
ExternalTrafficPolicy
scram-sha-256
散列以进行密码加密此外,我们的团队还提供了以下补充:
search_path
请仔细查看我们详细的 更改日志 和 文档。有一些破坏性更改以允许主版本升级,例如将更改您的 WAL 备份路径。
尽情享受这个新版本吧。我们很乐意收到您的反馈和进一步的贡献!
保持健康!