Postgres Operator v1.6.0

发布于 2020-12-26,作者:Zalando SE
相关开源

像去年圣诞节一样,Zalando 的 Postgres 即服务团队在 2020 年末发布了适用于 Kubernetes 的 Postgres Operator 的新版本。这现在是一种传统了吗?让我们看看我们有什么好东西给你。

Postgres 13 和就地主版本升级

此版本包含对最新版本的 PostgreSQL 的支持 - 带有 Patroni 2.0 的 Spilo 13。通过此新版本和新的 Spilo 镜像,我们试用简单的就地升级,目前是手动执行。升级现在变得容易得多。可以通过更改 PostgreSQL 集群清单中的版本号来启动,并且需要在 Pod 轮换后在主实例上手动运行升级脚本。虽然还不是完全自动化,但仍然比克隆现有集群快得多。

通过 PVC 进行 K8s 原生卷大小调整

到目前为止,在线卷大小调整(无需故障转移)仅在 AWS 上受支持,并且需要特权容器来更新文件系统。使用新的 storage_resize_mode 选项,用户可以选择仅更新 PersistentVolumeClaims 并让 Kubernetes 处理卷的大小调整传播。这是新的默认设置,如果您仍然使用 spilo_privileged 选项,则可以禁用它。

Postgres 集群的删除保护

为了避免轻易删除 Postgres 清单,尽管可以从例如 AWS S3 轻松但及时地恢复,但仍然可能产生重大影响,您现在可以启用删除保护。这可以保护您免受清单的意外删除。只有在通过注释将清单标记为删除时才会执行删除。理想情况下,您可以在 K8s 准入控制器级别补充此项。

用于副本的连接池

现在可以通过 Postgres 清单为副本和主服务启用连接池,以便您也可以轻松地将读取工作负载扩展到更大的应用程序连接计数。

更多功能和改进

自 5 月上次发布以来,我们进行了许多改进。我们仍然很高兴看到来自我们的开发人员和 Postgres 社区的大量贡献。其中,它为我们带来了

  • 全规格的 NodeAffinity 支持
  • 可配置的服务 ExternalTrafficPolicy
  • 选择替代调度器
  • 从机密来源的 Pod 环境变量
  • 能够将 WAL 文件 (wal-e) 和逻辑备份传输到 GCS
  • 用于密码加密的 scram-sha-256 哈希支持

此外,我们的团队提供了以下新增功能

  • 允许将注释从清单继承到所有主要子资源
  • 在清单中为数据库的默认角色设置 search_path
  • 单独的团队 CRD 来管理其他集群成员

仔细查看我们的详细 更新日志文档。有一些重大更改是为了允许主版本升级,例如会更改您的 WAL 备份路径。

享受这个新版本。我们很高兴收到您的反馈和进一步的贡献!

保持健康!