首页
/ CloudNativePG 1.26.0-rc1 发布:迈向云原生PostgreSQL管理的新里程碑

CloudNativePG 1.26.0-rc1 发布:迈向云原生PostgreSQL管理的新里程碑

2025-06-10 02:26:30作者:苗圣禹Peter

CloudNativePG 是一个专为 Kubernetes 设计的开源 PostgreSQL 操作器,它简化了在云原生环境中部署、管理和扩展 PostgreSQL 集群的复杂性。作为 CNCF 孵化项目,CloudNativePG 提供了声明式 API、自动化运维和与 Kubernetes 生态系统的深度集成,使 PostgreSQL 能够无缝运行在现代化基础设施上。

项目正式加入 CNCF 基金会

CloudNativePG 1.26.0-rc1 版本标志着项目发展的重要转折点——它已被正式接纳为云原生计算基金会(CNCF)项目。这一里程碑意味着 CloudNativePG 现在由 CNCF 托管,确保了项目的长期可持续性和社区驱动的创新发展。作为 CNCF 项目,CloudNativePG 将受益于更广泛的社区支持、更严格的治理标准以及与其他云原生技术的更好集成。

重大变更与迁移指南

Barman Cloud 支持的演进

本版本中,原生 Barman Cloud 备份和恢复支持已被标记为弃用,并计划在 1.28.0 版本中完全移除。这一变更反映了项目向更模块化架构的演进。用户需要开始将现有集群迁移到新的 Barman Cloud 插件,以确保备份功能的连续性。

同时,项目停止了对 Barman 3.4 及更早版本的支持,包括相关的功能检测框架。运行旧版本操作数的用户必须在升级操作器前更新其操作数版本,以避免兼容性问题。

休眠命令的改进

cnpg 插件中的休眠命令(hibernate onhibernate off)现在作为声明式休眠的快捷方式使用,取代了之前的命令式方法。hibernate status 命令已被移除,其功能现在由标准的 status 命令涵盖。需要注意的是,用户不应同时升级插件和操作器到 1.26 版本,除非准备好迁移到声明式休眠方法。

核心新特性

声明式离线原地主版本升级

1.26.0-rc1 引入了对 PostgreSQL 主版本离线原地升级的支持,这是数据库管理中的一项关键功能。当用户为集群应用包含更高 PostgreSQL 主版本的操作数容器镜像时,系统会自动执行以下流程:

  1. 关闭所有集群 Pod 以确保数据一致性
  2. 创建验证作业检查升级条件
  3. 执行 pg_upgrade 命令
  4. 根据需要设置新的 PGDATA、WAL 文件和表空间目录
  5. 升级完成后重新创建副本

这一功能特别设计了回滚机制,允许用户在升级失败时通过声明式配置恢复到之前的状态。整个过程完全自动化,大大降低了主版本升级的操作复杂性和风险。

副本探针的增强

新版本改进了 Kubernetes 启动和就绪探针对 PostgreSQL 副本的支持,提供了基于流复制延迟的精细控制能力。这意味着运维人员现在可以更精确地定义副本何时被视为"就绪",避免因复制延迟导致的潜在数据不一致问题。

扩展与模式的声明式管理

通过引入 extensionsschemas 配置段,用户现在可以以声明方式管理数据库中的 PostgreSQL 扩展和模式。这一特性简化了扩展生命周期管理,支持创建、修改和删除操作,使数据库配置更加可重复和可审计。

运维增强功能

网络与连接优化

新增的 STANDBY_TCP_USER_TIMEOUT 配置允许用户为所有由操作器管理的备用实例指定 tcp_user_timeout 参数,优化了复制连接在网络不稳定情况下的行为。

监控指标扩展

pg_extensions 指标的加入提供了关于已安装 PostgreSQL 扩展及其最新可用版本的信息,增强了监控能力,帮助管理员了解扩展状态并及时更新。

节点排水行为的自定义

通过 DRAIN_TAINTS 配置选项,用户可以自定义哪些节点污点表示节点正在排水,取代了之前仅识别 node.kubernetes.io/unschedulable 的固定行为,提供了更大的灵活性。

Kubernetes 集群域配置

新增的 KUBERNETES_CLUSTER_DOMAIN 配置选项允许用户指定 Kubernetes 集群内生成的完全限定域名(FQDN)的域后缀,默认为 cluster.local,适应了不同集群配置的需求。

安全与可维护性改进

灵活的验证控制

cnpg.io/validation 注解的引入允许用户在必要时禁用 CloudNativePG 管理资源上的验证 webhook。虽然这提供了更大的灵活性,但应谨慎使用,因为它可能允许不符合规范的配置变更。

Pod 定制化支持

通过 cnpg.io/podPatch 注解和 JSON Patch,用户现在可以对 PostgreSQL 实例 Pod 进行定制化修改。这一高级功能为特定场景提供了灵活性,但需注意可能导致的预期外行为。

性能与兼容性

压缩算法支持扩展

新增了对 LZ4、XZ 和 Zstandard 压缩方法的支持,当通过 Barman Cloud 归档 WAL 文件时,用户可以根据需求选择最适合的压缩算法,优化存储空间和性能的平衡。

PostgreSQL 18 指标支持

为即将到来的 PostgreSQL 18 版本做好了准备,新增了对 pg_stat_wal 指标的收集支持,确保监控系统的前瞻兼容性。

总结

CloudNativePG 1.26.0-rc1 版本带来了多项重要改进,特别是在主版本升级、声明式管理和监控方面。作为 CNCF 项目的新成员,CloudNativePG 正在快速演进,为云原生环境中的 PostgreSQL 管理提供了更强大、更灵活的工具集。用户应特别注意与 Barman Cloud 和休眠命令相关的变更,提前规划迁移路径以确保平稳过渡。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
176
261
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
858
509
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
257
300
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
331
1.08 K
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
397
370
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
83
4
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
kernelkernel
deepin linux kernel
C
22
5