痛点
在 Kubernetes 上跑 PostgreSQL,最常见的方案是手搓 StatefulSet + PVC + 自定义脚本。看起来能跑,但真到生产环境就暴露三个致命问题:
- 故障转移靠人工:Primary 挂了,需要手动 promote Replica、改 Service endpoint、确认数据一致性,停机窗口轻松 10-30 分钟
- 备份是定时炸弹:CronJob +
pg_dump管备份,恢复时才发现 dump 文件损坏或缺了 WAL,PITR(时间点恢复)更是奢望 - Day-2 运维地狱:滚动升级 PostgreSQL 版本要手动 drain、重建 Pod,扩缩副本要改 ...