在谷歌Kuber雷竞技下载官网netes MongoDB引擎安装Percona服务器(GKE)¶
本指南向您展示如何部署Percona运营商对谷歌Kubernetes 雷竞技下载官网MongoDB引擎(GKE)。文档假设一些经验的平台。GKE的更多信息,请参阅Kubernetes引擎快速入门。
先决条件¶
所有命令从本指南可以在运行谷歌云壳或在你当地的壳。
使用谷歌云壳只不过,你需要一个现代web浏览器。
如果你想使用你当地的壳安装以下:
gcloud。这个工具是谷歌云SDK的一部分。要安装它,请选择您的操作系统上谷歌官方云SDK文档页面然后按照说明。
kubectl。这是Kubernetes命令行工具将使用管理和部署应用程序。安装工具,运行以下命令:
美元gcloud身份验证登录美元gcloud组件安装kubectl
创建和配置GKE集群¶
您可以配置设置使用gcloud工具。您可以运行它云壳或者在你当地的shell(如果您已经安装了谷歌云SDK在前一步骤)。下面的命令将创建一个集群my-cluster-name:
美元gcloud容器集群创建my-cluster-name——项目<项目名称>——区us-central1-a——cluster-version1二十五分——机械化的n1-standard-4——num-nodes=3
请注意
您必须编辑下面的命令和其他命令行语句来替代<项目名称>占位符和你的项目名称。您可能还需要编辑区域位置设置为us-central1在上面的例子中。其他参数指定,我们创建一个集群3节点和4个vcpu的机器类型。
你可以等待几分钟集群生成。
这个过程结束后,你可以看到它在谷歌云上市控制台
选择Kubernetes引擎→集群在左边菜单面板:
现在你应该配置命令行访问您新创建的集群kubectl能够使用它。
在谷歌云控制台,选择您的集群,然后单击连接显示在上图。您将看到配置命令行访问的connect语句。编辑声明之后,你可能会运行在本地shell的命令:
美元gcloud容器集群将凭证my-cluster-name——区us-central1-a——项目<项目名称>
最后,用你的云的身份和访问管理(云我)控制访问集群。以下命令将使您能够创建角色和RoleBindings:
美元kubectl创建clusterrolebindingcluster-admin-binding——clusterrole集群管理员——用户$ (gcloud配置能创造更多的价值核心/账户)
预期的输出
clusterrolebinding.rbac.authorization.k8s。io / cluster-admin-binding创建
安装操作和部署您的MongoDB集群¶
部署操作。默认情况下部署将在完成
默认的名称空间。如果这不是理想的,您可以创建一个新的名称空间和/或设置上下文名称空间如下(取代<名称空间名称>占位符用一些描述性的名字):美元kubectl创建名称空间<名称空间美元名称>kubectl配置设置上下文$ (kubectl配置当前上下文)——名称空间=<名称空间名称>成功,您将看到消息
命名空间/ <名称空间名称>创建和上下文(gke_ <项目名称> _ <区位置> _ <集群名称>)修改。部署操作符使用下面的命令:
美元kubectl应用——服务器端- fhttps://raw.githubusercontent.com/雷竞技下载官网percona/percona-server-mongodb-operator/v1.14.0/deploy/bundle.yaml预期的输出
customresourcedefinition.apiextensions.k8s.io 雷竞技下载官网/ perconaservermongodbs.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io / perconaservermongodbbackups.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io / perconaservermongodbrestores.psmdb.percona.com serverside-applied role.rbac.authorization.k8s。io 雷竞技下载官网/ percona-server-mongodb-operator serverside-applied serviceaccount / percona-server-mongodb-operator serverside-applied rolebinding.rbac.authorization.k8s。io / service-accoun雷竞技下载官网t-percona-server-mongodb-operator serverside-applied部署。应用程序/雷竞技下载官网 percona-server-mongodb-operator serverside-applied运营商已经开始,您可以部署MongoDB集群:
美元kubectl应用- fhttps://raw.githubusercontent.com/雷竞技下载官网percona/percona-server-mongodb-operator/v1.14.0/deploy/cr.yaml预期的输出
雷竞技下载官网perconaservermongodb.psmdb.percona.com/my-cluster-name创建请注意
这个部署默认MongoDB集群配置,三个mongod,三个蒙戈,三个配置服务器实例。请参阅部署/ cr.yaml和自定义资源的选择的配置选项。您可以克隆存储库与所有体现和源代码通过执行下面的命令:
美元git克隆- bv1.14.0https://github.com/雷竞技下载官网percona/percona-server-mongodb-operator编辑需要的选项后,应用您的修改
部署/ cr.yaml文件如下:美元kubectl应用- f部署/ cr.yaml创建过程可能需要一些时间。当进程结束您的集群将获得
准备好了的地位。你可以用以下命令检查:美元kubectl得到psmdb预期的输出
姓名端点状态年龄my-cluster-name my-cluster-name-mongos.default.svc.cluster.local 5 m26s做好了准备
你也可以跟踪创建过程在谷歌云通过对象浏览器控制台
当创建过程完成后,它将看起来如下:
验证集群操作¶
可能需要十分钟启动集群。当kubectl得到psmdb命令最后向您展示集群的地位准备好了,你可以尝试连接到集群。
你需要登录和密码admin用户访问集群。使用
kubectl得到秘密命令查看的秘密对象列表(默认的秘密你感兴趣的对象my-cluster-name-secrets名字)。然后kubectl得到秘密my-cluster-name-secrets - o yaml命令将返回YAML文件生成的秘密,包括MONGODB_DATABASE_ADMIN_USER和MONGODB_DATABASE_ADMIN_PASSWORD字符串,它应该看起来如下:…数据:…MONGODB_DATABASE_ADMIN_PASSWORD:aDAzQ0pCY3NSWEZ2ZUIzS1I =MONGODB_DATABASE_ADMIN_USER:ZGF0YWJhc2VBZG1pbg = =这里实际的登录名和密码base64编码。使用
回声的aDAzQ0pCY3NSWEZ2ZUIzS1I = ' | base64解码命令把它带回一个人类可读的形式。运行MongoDB的容器端和连接终端的控制台输出。以下命令将这样做,命名新的吊舱
雷竞技下载官网percona-client:美元kubectl运行-我——rm——tty雷竞技下载官网percona-client——图片=雷竞技下载官网percona / percona-server-mongodb: 4.4.18-18——重启=从来没有- - -bash伊尔执行可能需要一些时间来部署记者吊舱。
现在运行
蒙戈工具percona-cl雷竞技下载官网ient命令shell使用登录(这是正常databaseAdmin),从秘密获得正确的密码,而不是一个适当的名称空间名称<名称空间名称>占位符。命令将不同取决于分片(默认行为)或关闭:美元蒙戈“mongodb: / / databaseAdmin: databaseAdminPassword@my-cluster-name-mongos。<名称空间名称> .svc.cluster.local / admin ? ssl = false”美元蒙戈“mongodb + srv: / / databaseAdmin: databaseAdminPassword@my-cluster-name-rs0。<名称空间名称> .svc.cluster.local / admin ? replicaSet = rs0&ssl = false”
故障排除¶
如果kubectl得到psmdb命令没有显示准备好了状态太久,你可以检查的创建过程kubectl得到豆荚命令:
美元kubectl得到豆荚
预期的输出
姓名就绪状态重启年龄my-cluster-name-cfg-0 2/2运行0 11 m my-cluster-name-cfg-1 2/2运行1 10 m my-cluster-name-cfg-2 2/2运行1 9 m my-cluster-name-mongos-0 1/1 0 11 m my-cluster-name-mongos-1运行1/1运行0 11 m my-cluster-name-mongos-2 1/1运行0 11 m my-cluster-name-rs0-0 2/2运行0 11 m my-cluster-name-rs0-1 2/2运行0 10 m my-cluster-name-rs0-2 2/2运行0 9 m percona -服务器mongodb -运营商- 665 cd69f9b xg5dl 1/1 0 37 m雷竞技下载官网
如果命令输出显示一些错误,您可以检查的有问题的豆荚kubectl描述<舱名称>命令如下:
美元kubectl描述圆荚体my-cluster-name-rs0-2
查看详细信息警告语句,然后正确的配置。一个警告的例子如下:
警告FailedScheduling 68年代(x4 / 2锰)default-scheduler 0/1可用节点:1个节点(s)不匹配/ anti-affinity pod亲和力,1个节点(s)不满足现有的豆荚anti-affinity规则。
另外,您可以通过对象浏览器检查你的豆荚
错误将会如下:
点击问题吊舱将带给你详细页面相同的警告:
删除GKE集群¶
有几种方法可以删除集群。
你可以清理的集群gcloud命令如下:
美元gcloud容器集群删除<集群名称>
返回语句请求你的确认删除。类型y来确认。
同样,你可以通过谷歌云控制台删除您的集群
只需点击删除集群中的弹出菜单项列表:
集群的删除可能需要时间。
警告
删除集群后,所有的数据都存储在它将丢失!