CloudNativePG
PostgreSQL operator:主从、故障切换、PITR 备份全交给 CRD。CNCF 项目。
一个 Cluster CR 描述「几个实例、多大存储、哪个大版本、备份去哪」,operator 负责其余:初始化、流复制、只读副本的 Service、主节点故障时的自动切换、滚动小版本升级,以及连续归档 + 基础备份构成的 PITR(可恢复到任意时间点)。它刻意不依赖 Patroni 或外部 DCS —— 选举用 Kubernetes API 本身完成。
上游活跃度
2026-08-23 抓取 · 数据来自 cloudnative-pg/cloudnative-pg (github)star9,188
最近提交2026-08-22
最新版本v1.30.02026-06-29
数字由构建期抓取,非实时;star 数不同代码托管平台之间不可直接比较。
运行依赖
- 支持所需容量的 StorageClass(本地盘即可,副本由 Postgres 流复制提供而非存储层)
- PITR 备份需要一个对象存储(S3 兼容)
上手前注意
- **副本数与存储副本是两件事**:它靠 Postgres 流复制做高可用,所以底下用 local-path 也成立 —— 别再叠一层分布式存储做重复冗余
- 单实例集群(instances: 1)没有故障切换能力,这在 homelab 里很常见,但要清楚这时它给的是「自动化运维」而不是「高可用」
- 大版本升级不是滚动的:要走 declarative 的导入/切换流程,提前读文档并留窗口
- 备份没做恢复演练等于没有备份 —— operator 让备份变简单,没让恢复自动变正确