Postgres Operator在 K8s 上构建高可用 PostgreSQL 集群
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团队开发的并在生产环境使用多年。
评论
