Postgres Operator 在由 Patroni 提供支持的 Kubernetes (K8s) 上提供易于运行的高可用性 PostgreSQL 集群。它仅通过 Postgres 清单 (CRD) 进行配置,以轻松集成到自动化 CI/CD 管道中,而无需直接访问 Kubernetes API,从而促进基础设施即代码(infrastructure as code)而不是手动操作。
创新互联建站长期为上千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为永登企业提供专业的成都网站设计、网站制作,永登网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。
Spilo: https://github.com/zalando/spilo
pg_basebackup: https://www.postgresql.org/docs/11/app-pgbasebackup.html
WAL-E: https://github.com/wal-e/wal-e
bg_mon: https://github.com/CyberDem0n/bg_mon
pg_stat_statements: https://www.postgresql.org/docs/14/pgstatstatements.html
pgextwlist: https://github.com/dimitri/pgextwlist
pg_auth_mon: https://github.com/RafiaSabih/pg_auth_mon
decoderbufs: https://github.com/debezium/postgres-decoderbufs
hypopg: https://github.com/HypoPG/hypopg
pg_cron: https://github.com/citusdata/pg_cron
pg_partman: https://github.com/pgpartman/pg_partman
pg_stat_kcache: https://github.com/powa-team/pg_stat_kcache
pgq: https://github.com/pgq/pgq
plpgsql_check: https://github.com/okbob/plpgsql_check
postgis: https://postgis.net/
set_user: https://github.com/pgaudit/set_user
timescaledb: https://github.com/timescale/timescaledb
Postgres Operator 在 Zalando 开发并已在生产中使用了三年多。
如果您已经在旧版本中使用带有 Spilo 12 Docker 镜像的 Postgres operator,则需要注意备份路径的更改。我们将主版本引入备份路径,以平滑现在支持的主版本升级。
新的 operator 配置可以设置兼容性标志 enable_spilo_wal_path_compat 以使 Spilo 在当前路径中查找 wal 段,但也可以在旧格式路径中查找。这是以潜在的性能成本为代价的,应该在几天后禁用。
最新的 Spilo 镜像是:registry.opensource.zalan.do/acid/spilo-14:2.1-p4
最旧的 Spilo 镜像是:registry.opensource.zalan.do/acid/spilo-12:1.6-p5
为了快速获得第一印象,请按照入门教程的说明进行操作。
Postgres operator 在 Kubernetes (K8s) 上管理 PostgreSQL 集群:
operator: https://coreos.com/blog/introducing-operators.html
Postgres 集群清单: https://github.com/zalando/postgres-operator/blob/master/manifests/complete-postgres-manifest.yaml
自身配置: https://github.com/zalando/postgres-operator/blob/master/manifests/configmap.yaml
Postgres Operator 的 scope 是提供、修改配置和清理使用 Patroni 的 Postgres 集群,基本上是为了在 K8s 上轻松方便地运行基于 Patroni 的集群。配置和修改包括一侧的 K8s 资源,但也包括集群启动并运行后的数据库和角色配置。我们尽量把工作留给 K8s 和 Patroni,尤其是集群引导和高可用性。不过,operator 需要参与一些总体编排,比如滚动更新以改善用户体验。
在当前状态下,监控或调整 Postgres 不在 operator 的作用域内。但是,通过全局可配置的 sidecar,我们提供了足够的灵活性来补充其他工具,如 ZMON、Prometheus 或更多 Postgres 特定选项。
这是一张图,它总结了 operator 在提交新的 Postgres cluster CRD 时将创建的内容:
如果没有对单个集群 pod 内部的概述,这张图是不完整的,所以让我们放大一下:
这两张图应该可以帮助您了解 operator 提供的功能类型的基础知识。
该项目目前正在积极开发中。然而,Zalando 已经在内部使用它,以便在 K8s 上运行大量 Postgres 集群,用于 staging 环境和越来越多的 production 集群。在这种环境中,operator 被部署到多个 K8s 集群中,用户通过我们的 CI/CD 基础设施部署清单或依靠精简的用户界面来创建清单。
本文题目:聊聊基础设施即代码(IAC),ZalandoPostgresOperator
URL链接:http://www.shufengxianlan.com/qtweb/news31/512831.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联