Postgres Operator通过充分发挥Patroni的能力来提供给大家一种在K8s上构建高可用PostgreSQL集群的方式。它仅通过对Postgres manifests(CRDs)进行简单的配置即可轻松与自动化CI/CD pipelines进行集成,而不需要直访问Kubernetes API,将基础设施提升为代码的方式而不需要手工操作。
Postgres Operator 特点
- 进行Postgres集群的滚动更新,包括快速的小版本更新;
- 不需要重启pod来进行动态空间调整(AWS EBS,PVC);
- 基于PGBouncer的数据库连接池;
- 恢复和克隆Postgres集群(包括小版本升级);
- 可以通过配置进行额外的逻辑版本,将数据备份到S3 bucket;
- 基于S3 WAL归档的Standby集群;
- 配置非云环境;
- K8s上的基本配置及用户管理,简化应用部署;
- 支持定制化TLS证书;
- 可以创建和修改Postgres集群manifests的UI界面;
- 可以很好的在Amazon AWS, Google Cloud, OpenShift和本地环境上运行;
- 对AWS EBS gp3迁移的基本支持;
对PostgreSQL的支持
- 支持PostgreSQL 9.5+ 到 13的所有版本
- 通过Patroni实现流复制集群
- 通过Spilo调用pg_basebackup / WAL-E实现Point-In-Time-Recovery恢复(PITR恢复)
- 预加载的库:bg_mon, pg_stat_statements, pgextwlist, pg_auth_mon
- 包括很多流行的扩展,例如: decoderbufs, hypopg, pg_cron, pg_partman, pg_stat_kcache, pgq,plpgsql_check, postgis, set_user 以及 timescaledb
Postgres Operator是Zalando团队开发的并在生产环境使用多年。