配置高可用 PostgreSQL 集群
目录
功能简介
本指南介绍如何在 Kubernetes 上配置高可用的 PostgreSQL 集群,使用 Patroni 实现自动故障转移和集群管理,支持同步复制、连接池、监控等功能。
前置条件
- PostgreSQL Operator 必须已安装
- 必须配置支持动态供给的存储类
- 必须获得创建 CRD 资源的权限
- 确保 Kubernetes 集群有足够资源(至少 3 个可用节点)
- 必须配置备份存储(S3 或兼容存储)
操作步骤
1. 创建高可用集群
2. 验证集群状态
输出示例:
3. 配置连接池(可选)
4. 配置监控(可选)
关键参数说明
集群配置
Patroni 配置
备份配置
操作结果验证
- 查看集群状态是否为 Running
- 确认所有 Pods 正常运行
- 检查 Patroni 状态:
- 测试故障转移:
观察新的主节点选举过程
- 验证同步复制状态:
最佳实践
- 生产环境建议使用 SSD 存储并配置合理的 IOPS
- 合理配置资源限制,预留 20-30% 的 buffer
- 定期测试故障转移和恢复流程
- 配置监控告警,包括:
- 主从延迟
- 连接数
- 磁盘使用率
- CPU/内存使用率
- 启用定期备份并测试恢复流程
- 使用同步复制时,建议配置至少 2 个同步副本
- 定期进行性能调优和参数优化