在谷歌Kuber雷竞技下载官网netes Engine (GKE)上安装Percona Distribution for PostgreSQL¶
下面的步骤将允许您安装Operator并使用它与谷歌Kubernetes引擎一起管理PostgreSQL的Percona Distribution。雷竞技下载官网本文档假定您有使用谷歌Kubernetes Engine (GKE)的经验。有关GKE的更多信息,请参见Kubernetes引擎快速入门。
先决条件¶
这个快速入门中的所有命令都可以在谷歌云壳或在本地shell。
使用谷歌云壳,你只需要一个现代的网络浏览器。
如果你想用本地shell,安装以下软件:
gcloud。这个工具是谷歌云SDK的一部分。要安装它,请在官方谷歌云SDK文档页面然后按照说明去做。
kubectl。它是Kubernetes命令行工具,您将使用它来管理和部署应用程序。安装工具的命令如下:
美元gcloud身份验证登录美元gcloud组件安装kubectl
配置集群的默认设置¶
您可以使用gcloud工具。你可以在云壳或者在您的本地shell中(如果您在上一步中在本地安装了谷歌Cloud SDK)。下面的命令将创建一个名为my-cluster-1:
美元gcloud容器集群创建cluster - 1上——项目<项目名称>——区us-central1-a——cluster-version{{gkerecommended}}——机械化的n1-standard-4——num-nodes=3.
请注意
您必须编辑以下命令和其他命令行语句来替换<项目名称>带有项目名称的占位符。您可能还需要编辑区域位置,它被设置为us-central1在上面的例子中。其他参数指定我们正在创建一个具有3个节点、4个vcpu和45 GB内存的机器类型的集群。
您可以等待几分钟来生成集群,然后您将看到它列在谷歌Cloud控制台中(选择Kubernetes引擎→集群在左侧菜单面板中):
现在,您应该配置对新创建的集群的命令行访问kubectl能够使用它。
在谷歌Cloud Console中,选择您的集群,然后单击连接如上图所示。您将看到connect语句配置命令行访问。编辑完语句后,您可以在本地shell中运行以下命令:
美元gcloud容器集群将凭证cluster - 1上——区us-central1-a——项目<项目名称>
安装操作员¶
首先,用你的云身份和访问管理(云IAM)控制对集群的访问。下面的命令将给你创建角色和角色绑定的能力:
美元kubectl创建clusterrolebindingcluster-admin-binding——clusterrole集群管理员——用户$ (gcloud配置能创造更多的价值核心/账户)预期的输出
clusterrolebinding.rbac.authorization.k8s。io / cluster-admin-binding创建使用以下命令
git克隆命令下载percona-postgresql-operator存储库的正确分支:雷竞技下载官网美元git克隆- bv1.4.0https://github.com/雷竞技下载官网percona/percona-postgresql-operator美元cd雷竞技下载官网percona-postgresql-operator接下来要做的是加上
pgo命名空间到Kubernetes,不要忘记为下一步设置相应的上下文:美元kubectl创建名称空间pgo美元kubectl配置设置上下文$ (kubectl配置当前上下文)——名称空间=pgo请注意
要使用不同的名称空间,您应该编辑所有出现的
名称空间:pgo两行都行部署/ cr.yaml和部署/ operator.yaml配置文件。使用如下命令部署操作符:
美元kubectl应用- f部署/ operator.yaml操作符启动后,Percona Distribution fo雷竞技下载官网r PostgreSQL可以随时使用以下命令创建:
美元kubectl应用- f部署/ cr.yaml创建过程需要一些时间。当Operator和PostgreSQL pod达到Running状态时,进程结束。
美元kubectl得到豆荚预期的输出
名称准备状态重启AGE backup- backup-cluster1-4nq2x 0/1完成0 10m cluster1-6c9d4f9678-qdfx2 1/1运行0 10m cluster1-backrest-shared-repo-7cb4dd8f8f-sh5gg 1/1运行0 10m cluster1-pgbouncer-6cd69d8966-vlxdt 1/1运行0 10m pgo-deploy-bp2ts 0/1完成0 5m postgresg - operate -67f58bcb8c-9p4tl 4/4运行1 5m在谷歌Cloud控制台中浏览集群的pod时,也可以看到相同的信息对象浏览器:
在前面的步骤中,操作员已经生成了几个秘密的密码
pguser用户,您将需要该用户访问集群。使用
Kubectl有秘密命令,以查看Secrets对象列表(默认情况下,您感兴趣的Secrets对象有)cluster1-pguser-secret名字)。然后Kubectl获取secret cluster1-pguser-secret - 0 yaml将返回包含生成的秘密的YAML文件,包括如下所示的密码:…数据:…密码:cGd1c2VyX3Bhc3N3b3JkCg = =这里实际的密码是base64编码的,和
' | base64——decode将它带回到一个人类可读的形式(在这个例子中,它将是一个pguser_password字符串)。检查与新创建集群的连通性。运行一个新的Pod,将其用作客户机,并将其控制台输出连接到终端(运行它可能需要一些时间来部署)。当您看到新创建的Pod的命令行提示符时,运行
psql工具使用密码获得的秘密。下面的命令将执行此操作,并命名新Podpg-client:美元kubectl运行-我——rm——ttypg-client——图片=雷竞技下载官网perconalab / percona-distribution-postgresql: 14.7——重启=从来没有--bash伊尔[postgres@pg-client/]美元PGPASSWORD=“pguser_password”psql- hcluster1-pgbouncer- p5432- upguserpgdb这个命令将连接到PostgreSQL交互终端。
美元psql(14。7)类型“帮助”为的帮助。pgdb=>