KubeBlocks PostgreSQL Operator 基于 Patroni 实现自动选主与故障转移,支持流复制、同步复制与 pgBouncer 连接池,提供完整的 PITR 恢复能力,适合对数据一致性要求极高的业务场景。
0
故障切换数据丢失(同步模式)
99.99%
高可用目标
11+
内置扩展
100%
开源免费
2 步部署生产级 PostgreSQL Operator
安装 KubeBlocks
# 添加 Helm 仓库 helm repo add kubeblocks https://apecloud.github.io/helm-charts helm repo update # 安装 KubeBlocks helm install kubeblocks kubeblocks/kubeblocks \ --namespace kb-system --create-namespace
创建 PostgreSQL Operator 集群
apiVersion: apps.kubeblocks.io/v1
kind: Cluster
metadata:
name: pg-cluster
namespace: demo
spec:
terminationPolicy: Delete
clusterDef: postgresql
topology: replication
componentSpecs:
- name: postgresql
replicas: 3基于 Patroni 的分布式 Leader 选举,通过 Kubernetes API 实现,节点故障时自动完成主从切换,RTO 通常低于 30 秒。
支持异步流复制与同步复制两种模式,同步复制模式下主库提交必须等待至少一个从库确认,RPO = 0。
内置 pgBouncer(:6432)提供连接池管理,降低主库连接压力,自动将只读请求路由到从库。
基于 WAL 归档实现按时间点恢复,支持恢复到任意历史时刻,满足合规审计需求。
一主多从流复制架构,由 Patroni 通过 Kubernetes API 实现分布式 Leader 选举。主库故障时自动完成主从切换,RTO 通常低于 30 秒;同步复制模式下 RPO = 0。
Patroni 通过 Kubernetes API 实现分布式 Leader 选举,无需外部 etcd
支持同步与异步流复制,同步模式下主库提交必须等待至少一个从库确认
内置 pgBouncer 连接池(:6432),降低主库连接压力
主库切换后 Service Endpoint 自动更新,应用无感知
内置 pg-exporter sidecar,自动暴露 Prometheus 指标(:9187)
pg-cluster-postgresql-postgresql:5432pg-cluster-postgresql-postgresql:6432 (pgbouncer)kubeblocks.io/role=primaryKubeBlocks PostgreSQL Operator 提供 PostgreSQL 12、14、15、16、17、18 等版本,可通过自定义镜像运行其他兼容版本。
在默认配置下,Patroni 主从切换 RTO 通常低于 30 秒。切换过程包括健康检查超时、Leader 选举和 Service Endpoint 更新,整个流程由 KubeBlocks 自动完成。
KubeBlocks 支持基于 pg_basebackup 的全量备份和基于 WAL 归档的增量备份(PITR),备份文件可上传至 S3、MinIO 等对象存储,支持按任意时间点恢复,RPO 接近零。
KubeBlocks开源版完全开源免费,涵盖所有核心 HA 功能、备份恢复与运维操作。KubeBlocks企业版 提供图形化控制台、多集群管理与商业支持等增值功能。
推荐使用开源工具 ape-dts 进行在线迁移,支持全量 + 增量同步,迁移完成后切换流量,业务中断时间极短。也可使用 pg_dump/pg_restore 或 pglogical 逻辑复制方式迁移。