设计概述¶
Perc雷竞技下载官网ona Operator for PostgreSQL在Kubernetes上自动化和简化了开源PostgreSQL集群的部署和管理。运算符基于CrunchyData的PostgreSQL操作符。
使用Operator部署的PostgreSQL容器包括以下组件:
的PostgreSQL数据库管理系统,包括:
pgAuditPostgreSQL审计扩展
的pgBackRest备份和恢复实用程序,
的pgBouncerPostgreSQL的连接池
PostgreSQL的高可用性实现Patroni模板,
的pg_stat_raybet雷竞技竞猜在线官网monitorPostgreSQL查询性能监控工具,raybet雷竞技竞猜在线官网
LLVM(用于JIT编译)。
为了提供高可用性,操作员涉及节点关联如果可能的话,在单独的工作节点上运行PostgreSQL集群实例。如果某个节点发生故障,则在另一个节点上自动重新创建带有该节点的Pod。
为了给有状态的应用程序提供数据存储,Kubernetes使用了Persistent Volumes。一个PersistentVolumeClaim(PVC)用于实现对pod的自动存储配置。如果发生故障,容器存储接口(CSI)应该能够在不同的节点上重新挂载存储。
Operator功能扩展了Kubernetes API自定义资源定义。这些crd提供了对Kubernetes API的扩展,并且,在Operator的情况下,允许您执行诸如创建PostgreSQL集群,更新PostgreSQL集群资源分配,为PostgreSQL集群添加额外的实用程序等操作。pgBouncer用于连接池和更多。
当一个新的自定义资源被创建,或者一个现有的资源被修改或删除时,Operator会自动创建/修改/删除所有需要的Kubernetes对象,并提供适当的设置,以提供适当的Percona PostgreSQL集群操作。雷竞技下载官网
在Operator安装过程中创建了以下crd:
pgclusters存储管理PostgreSQL集群所需的信息。这包括集群名称、使用什么存储和资源类、运行哪个版本的PostgreSQL、如何维护高可用性集群等信息。pgreplicas存储管理PostgreSQL集群内副本所需的信息。这包括副本的数量、要使用的存储和资源类、特殊的关联规则等。pgtasks是一个通用的CRD,它接受需要在集群上运行的任务类型(例如进行备份),并通过其工作流跟踪该任务的状态。