CloudNativePG 1.31 将为 DatabaseRole 新增密码自动生成与轮换功能。password 字段支持 generate、secret、external、setNull 四种模式;generate 模式由操作符生成密码并存入其管理的 Secret,包含 username、password、pgpass 三个键。可通过 duration 和 renewBefore 设置定期轮换,PostgreSQL 以 VALID UNTIL 强制密码有效期。支持通过注解手动触发轮换,并可自定义密码长度及数字、符号等规则。默认不轮换,因为角色仅有一个密码,切换时无重叠期。
本文介绍用 OpenBao 与 CloudNativePG 搭建全开源密钥管理栈:OpenBao 的 PostgreSQL 存储后端将 CNPG 三实例集群变为加密键值库,采用同步复制实现零数据丢失故障转移;通过 DatabaseRole 签发 TLS 客户端证书,实现无密码 mTLS 认证,并用 pg_hba 规则强制校验。文章详述部署集群、初始化表结构、Helm 安装 OpenBao 及解封验证流程,并提醒证书续期需滚动重启。
本文介绍如何在Kubernetes上使用CloudNativePG(CNPG)作为OpenBao的PostgreSQL存储后端,实现无密码的TLS客户端证书认证。通过部署三实例CNPG集群、创建数据库角色和表结构,并配置OpenBao的Helm图表,实现高可用和同步复制。文章涵盖初始化、解封、读写测试及证书续期等操作,强调全开源、无供应商锁定。
传统DBA转向Kubernetes时,常因无法SSH直接编辑Postgres配置文件而困扰。CloudNativePG(CNPG)通过声明式YAML解决此问题:在spec.postgresql.parameters中定义参数,用pg_hba块管理客户端认证,并借助Kubernetes Secrets安全存储密码。CNPG自动校验、重载配置,无需中断连接,使数据库配置可复现、自愈且安全。
本文介绍如何使用 CloudNativePG 在本地 minikube 和 MinIO 上搭建分布式 PostgreSQL 拓扑:主集群持续将 WAL 日志写入对象存储,副本集群位于另一 Kubernetes 集群或区域,从对象存储引导并轮询新 WAL 保持同步。通过 ObjectStore 资源、replica 声明和 externalClusters 配置实现角色匹配与故障切换。需注意对象存储延迟会影响复制滞后,并保持两集群镜像版本一致。
CloudNativePG 1.30引入了DatabaseRole CRD和无密码TLS客户端证书功能,允许应用团队声明性管理PostgreSQL凭据,简化了角色管理和RBAC。DatabaseRole支持自动生成和续订TLS证书,增强了安全性,提升了数据库角色管理效率,减少了攻击面。
本文比较了CloudNativePG和Crunchy PGO两款在Kubernetes上运行PostgreSQL的开源工具,讨论了架构、备份策略、版本升级和可观察性等方面。CloudNativePG更依赖Kubernetes API,简化高可用性管理,而Crunchy PGO使用Patroni进行管理。作者认为CloudNativePG在架构、治理和社区活跃度上更具优势,建议用户根据需求选择合适的工具。
本文介绍了如何将Crunchy PGO管理的PostgreSQL 17集群迁移到CloudNativePG下的PostgreSQL 18,提供了离线迁移和在线迁移两种路径。离线迁移使用pg_dump,简单直接;在线迁移利用逻辑复制实现几乎零停机时间。文章详细说明了环境设置、数据加载、扩展兼容性检查及迁移步骤,强调了数据一致性和安全性的重要性。
在2026年南加州Linux博览会SCaLE 23x上,讨论了CloudNativePG,这是一个用于Kubernetes的开源PostgreSQL操作员。会议展示了现代基础设施的自愈能力,并提供了Discord讨论PostgreSQL兼容性的机会,以及购买相关书籍的折扣码。
本文介绍了如何将pg_crash扩展添加到CloudNativePG项目中,强调了从传统存储库向统一构建系统的转变。通过Kubernetes的Image Volume功能,社区能够更方便地贡献和维护扩展。文章详细描述了迁移过程、测试和验证步骤,以及未来扩展管理的简化,呼吁更多人参与构建云原生PostgreSQL生态系统。
Anushka Saxena在CloudNativePG项目中改进了文档自动化和多版本支持。她利用Node.js脚本清理Markdown文件,构建了自动同步管道,提高了文档工作流的可靠性。通过与导师的合作,她感受到了团队的支持与信任,并认识到文档与发布工程的紧密关系,计划继续参与文档工具和社区开发。
Yash Agarwal在CloudNativePG项目中进行混沌测试,提升了测试覆盖率,设计自动化实验以验证PostgreSQL集群的韧性。他从11年级开始学习Python,目前是Seeqlo的全栈开发实习生,积极参与技术社区。
Matthew Mols是pgEdge的工程高级总监,pgEdge专注于简化Postgres企业级应用的构建与管理。近期,他们宣布集成CloudNativePG并加入CNCF。Mols强调CloudNativePG的稳定性和文档质量,助力用户在Kubernetes上部署Postgres。pgEdge利用CloudNativePG实现多集群分布式数据库,未来计划增强分布式部署能力。
2025年,CloudNativePG在CNCF沙箱中获得认可,成为云原生生态系统的重要组成部分。与Cilium和Keycloak等项目合作,推出PostgreSQL 18的新特性,下载量超过1.32亿次,确立了其在Kubernetes上的标准地位。通过解决高可用性问题,CloudNativePG取得显著进展,未来将继续推动PostgreSQL的发展。
本文介绍了如何在CloudNativePG上部署TimescaleDB和向量搜索。通过构建自定义镜像,解决了TimescaleDB与CloudNativePG的架构不兼容问题,采用四阶段Dockerfile构建过程,确保与PostgreSQL兼容,最终实现了在Kubernetes上高效处理时间序列和向量数据,验证了系统功能和性能。
CloudNativePG 通过 Kubernetes 的 ImageVolume 功能,支持从独立镜像挂载 Postgres 扩展(如 pgvector 和 PostGIS),实现 PostgreSQL 核心与扩展二进制文件的解耦,简化动态添加和更新,避免构建大型自定义容器镜像。
在2025年亚特兰大举行的KubeCon + CloudNativeCon上,我参与了CloudNativePG操作员的CNCF孵化申请,并进行了三次演讲,内容涵盖社区贡献、现代PostgreSQL授权和新特性。此次活动成功促进了与CNCF生态系统的交流,标志着CloudNativePG的成长。
本文探讨了在CloudNativePG中运行Jepsen实验,比较了性能、可用性和保护模式。实验表明,设置dataDurability为preferred可提高可用性,但在小型集群中可能导致数据丢失。引入延迟或调整failoverDelay能显著减少数据丢失。
PostgreSQL 18正式发布,带来性能、安全和管理方面的改进。新特性包括异步I/O、OAuth 2.0认证和扩展控制路径参数。CloudNativePG支持在Kubernetes上运行PostgreSQL 18,提供更小的镜像,简化部署。
在KubeCon亚特兰大,我将与Leonardo Cecchi讨论分布式系统理论及Postgres集群重配置。我们将使用Jepsen测试框架演示在禁用同步复制时可能导致的数据丢失,并展示如何通过启用同步复制来避免这一问题。
完成下面两步后,将自动完成登录并继续当前操作。