雷竞技下载官网用于PostgreSQL单命名空间和多命名空间部署的Percona操作符¶
在Kubernetes中为PostgreSQL和PostgreSQL集群部署Percona Operator时,有两种设计模式可供选择:雷竞技下载官网
命名空间-作用域-每个Kubernetes命名空间一个操作符,
集群范围-一个操作员可以管理多个名称空间中的集群。
本指南解释了如何为PostgreSQL配置Percona Operator。雷竞技下载官网
命名空间范围¶
默认情况下,特定Kube雷竞技下载官网rnetes命名空间中PostgreSQL函数的Percona Operator。你可以创建默认值pgo在安装过程中使用一个或其他命名空间(如安装说明).这种方法允许多个操作符共存于一个基于kubernetes的环境中,被分离在不同的名称空间中:
通常这是一种推荐的方法,因为隔离可以最大限度地减少各种故障场景下的影响。这是Operator的默认配置。
假设在Kubernetes集群中有一个名为雷竞技下载官网percona-db-1。
编辑您的文件中的下列行部署/ operator.yaml:
apiVersion:v1种类:ConfigMap元数据:名字:pgo-deployer-cm数据:values.yaml:|-…名称空间:“雷竞技下载官网percona-db-1”pgo_operator_namespace:“雷竞技下载官网percona-db-1”…apiVersion:rbac.authorization.k8s.io / v1种类:ClusterRoleBinding元数据:名字:pgo-deployer-crb主题:…-种类:ServiceAccount名称空间:雷竞技下载官网percona-db-1部署操作员:
美元kubectl应用- f部署/ operator.yaml- n雷竞技下载官网percona-db-1一旦操作员启动并运行,部署数据库集群本身:
美元kubectl应用- f部署/ cr.yaml- n雷竞技下载官网percona-db-1
您可以在这个命名空间中部署多个集群。
添加更多名称空间¶
如果需要在另一个名称空间中部署集群呢?名称空间作用域部署的解决方案是在相应的名称空间中有多个Operator。我们将使用雷竞技下载官网percona-db-2以Namespace为例。
编辑或复制
operator.yaml:apiVersion:v1种类:ConfigMap元数据:名字:pgo-deployer-cm数据:values.yaml:|-…名称空间:“雷竞技下载官网percona-db-2”pgo_operator_namespace:“雷竞技下载官网percona-db-2”…apiVersion:rbac.authorization.k8s.io / v1种类:ClusterRoleBinding元数据:名字:pgo-deployer-crb主题:…-种类:ServiceAccount名称空间:雷竞技下载官网percona-db-2部署操作员:
美元kubectl应用- f部署/ operator.yaml- n雷竞技下载官网percona-db-2一旦操作员启动并运行,部署数据库集群本身:
美元kubectl应用- f部署/ cr.yaml- n雷竞技下载官网percona-db-2请注意
集群名称在不同的名称空间中可能相同。
在集群范围内安装Operator¶
有时候,让一个Operator在多个名称空间中监视Percona Distribution中的PostgreSQL自定义资源会更方便雷竞技下载官网。
我们建议以传统的方式为PostgreSQL雷竞技下载官网运行Percona Operator,仅限于特定的名称空间。但是可以用所谓的整个集群范围的模式,一个操作符监视几个命名空间,如果需要:
请注意
请注意,如果几个操作符被配置为监视同一个名称空间,那么完全无法预测哪个操作符将获得其中的自定义资源的所有权,因此应该避免这种情况。
下面的简单示例展示了如何在Kubernetes上在集群范围内安装Operator。它的功能如下:
将Operator部署到一个单独的
雷竞技下载官网percona-operator名称空间,允许Operator在两个命名空间中控制数据库:
雷竞技下载官网percona-db-1和雷竞技下载官网percona-db-2。编辑您的文件中的下列行部署/ operator.yaml:
apiVersion:v1种类:ConfigMap元数据:名字:pgo-deployer-cm数据:values.yaml:|-…名称空间:“雷竞技下载官网percona-db-1 percona-db-2”pgo_operator_namespace:“雷竞技下载官网percona-operator”…apiVersion:rbac.authorization.k8s.io / v1种类:ClusterRoleBinding元数据:名字:pgo-deployer-crb主题:…-种类:ServiceAccount名称空间:雷竞技下载官网percona-operator请注意
在部署操作符之前,请确保所有名称空间都存在。
部署操作员:
美元kubectl应用- f部署/ operator.yaml- n雷竞技下载官网percona-operator的名称空间中列出的名称空间现在可以部署数据库
名称空间:变量。美元kubectl应用- f部署/ cr.yaml- n雷竞技下载官网percona-db-1美元kubectl应用- f部署/ cr.yaml- n雷竞技下载官网percona-db-2
添加更多名称空间¶
假设我们想要Operator在另一个命名空间中管理数据库:雷竞技下载官网percona-db-3。
编辑
operator.yaml并在相应的字段中再添加一个Namespace:apiVersion:v1种类:ConfigMap元数据:名字:pgo-deployer-cm数据:values.yaml:|-…名称空间:“雷竞技下载官网percona-db-1 percona-db-2 percona-db-3”删除“操作员部署和部署”任务。
美元kubectl- n雷竞技下载官网percona-operator删除- f部署/ operator.yaml美元kubectl- n雷竞技下载官网percona-operator删除部署postgres-operator请注意
删除Operator不会影响现有集群的可用性,但会限制管理它们的能力。例如,您将无法扩展集群或进行备份。
使用添加的新命名空间再次部署Operator:
美元kubectl应用- f部署/ operator.yaml- n雷竞技下载官网percona-operator您现在可以将数据库部署到新的命名空间:
美元kubectl应用- f部署/ cr.yaml- n雷竞技下载官网percona-db-3