在Azure K雷竞技下载官网ubernetes Service (AKS)上安装Percona XtraDB集群¶
本指南向您展示如何在Microsoft Azure Kubernete雷竞技下载官网s Service (AKS)上部署基于Percona XtraDB集群的Percona Operator for MySQL。本文档假定您对该平台有一定的经验。有关AKS的更多信息,请参见微软AKS官方文档。
先决条件¶
以下工具在本指南中使用,因此需要预安装:
Azure命令行接口(Azure CLI)用于与AKS的不同部分进行交互。您可以按照系统的正式安装说明。
kubectl在Kubernetes上管理和部署应用程序。安装它请按照官方安装说明进行安装。
此外,您还需要使用您的凭证根据官方指南。
创建并配置AKS集群¶
要创建您的集群,您将需要以下数据:
- 您的AKS集群名称,
- 一个Azure资源组,其中将部署和管理集群的资源。
- 您希望拥有的节点数量。
您可以通过命令行使用Az aks创造命令。下面的命令将创建一个名为cluster1在一些已经存在的资源组命名my-resource-group:
美元阿兹部创建——资源组my-resource-group——名字cluster1——enable-managed-identity——节点数3.——node-vm-sizeStandard_B4ms——node-osdisk-size30.——network-pluginkubenet——generate-ssh-keys——outbound-typeloadbalance
上面示例中的其他参数指定我们正在创建一个机器类型为的集群Standard_B4ms和操作系统磁盘大小减少到30 GiB。中的集群创建选项的详细信息AKS官方文件。
可能需要等待几分钟才能生成集群。
现在您应该配置对新创建的集群的命令行访问kubectl能够使用它。
阿兹部将凭证——资源组my-resource-group——名字cluster1
安装Operator并部署Percona XtraDB集群雷竞技下载官网¶
部署操作员。默认情况下,部署将在
默认的名称空间。如果这不是理想的名称空间,您可以创建一个新的名称空间和/或为该名称空间设置上下文,如下所示<名称空间名称>带有一些描述性名称的占位符):美元kubectl创建名称空间<名称空间美元名称>kubectl配置设置上下文$ (kubectl配置当前上下文)——名称空间=<名称空间名称>在成功的时候,你会看到这样的信息
命名空间/ <名称空间名称>,并且上下文(<集群名称>)被修改。使用以下命令部署操作员:
美元kubectl应用- fhttps://raw.githubusercontent.com/雷竞技下载官网percona/percona-xtradb-cluster-operator/v1.12.0/deploy/bundle.yaml预期的输出
apiextensions.k8s.io/perconaxtradbclusters.pxc雷竞技下载官网.percona.com创建了customresourcedefintion.apiextensions.k8s.io /perconaxtradbclusterrestores.pxc.percona.com创建了customresourcedefintion.apiextensions.k8s.io /perconaxtradbclusterrestores.pxc.percona.com创建了roles .rbac.authorization.k8s。Io 雷竞技下载官网/percona-xtradb-cluster-operator created serviceaccount/percona-xtradb-cluster-operator created rolebinding.rbac.authorization.k8s。Io /service-account雷竞技下载官网-percona-xtradb-cluster-operator创建部署。应用程序/雷竞技下载官网 percona-xtradb-cluster-operator创建操作符已经启动,您可以部署Percona XtraDB集群:雷竞技下载官网
美元kubectl应用- fhttps://raw.githubusercontent.com/雷竞技下载官网percona/percona-xtradb-cluster-operator/v1.12.0/deploy/cr.yaml预期的输出
雷竞技下载官网Perconaxtradbcluster.pxc.percona.com/ cluster1已创建请注意
这将使用三个HAProxy和三个XtraD雷竞技下载官网B集群实例部署默认的Percona XtraDB集群配置。请参阅部署/ cr.yaml和自定义资源选项用于配置选项。您可以通过执行以下命令克隆存储库的所有清单和源代码:
美元git克隆- bv1.12.0https://github.com/雷竞技下载官网percona/percona-xtradb-cluster-operator编辑所需选项后,应用已修改的选项
部署/ cr.yaml文件如下:美元kubectl应用- f部署/ cr.yaml创建过程可能需要一些时间。进程结束后,您的集群将获得
准备好了的地位。您可以使用以下命令进行检查:美元kubectl得到pxc预期的输出
NAME ENDPOINT STATUS PXC PROXYSQL HAPROXY AGE cluster1 cluster1- HAPROXY .default ready 3 3 5m51s
验证集群操作¶
启动集群可能需要10分钟。当Kubectl得到PXC命令最终显示集群状态为准备好了,您可以尝试连接到集群。
您需要admin用户的登录名和密码才能访问集群。使用
Kubectl得到秘密命令查看Secrets对象列表(默认情况下,您感兴趣的Secrets对象具有cluster1-secrets名字)。可以通过以下命令获取根用户:美元kubectl得到秘密cluster1-secrets- oyaml- ojsonpath=“{.data.root}”|base64——解码|tr' \ n '' '& &回声”“使用
mysql工具并将其控制台输出连接到您的终端。下面的命令将执行此操作,命名新Pod雷竞技下载官网percona-client:美元kubectl运行-我——rm——tty雷竞技下载官网percona-client——图片=雷竞技下载官网percona: 8.0——重启=从来没有--bash伊尔执行它可能需要一些时间来部署相应的Pod。
现在运行
mysql工具在percona-c雷竞技下载官网lient命令shell中使用密码获得的秘密。该命令看起来会有所不同,这取决于您的集群是否提供负载平衡HAProxy(默认选择)或ProxySQL:美元mysql- hcluster1-haproxy-uroot-proot_password美元mysql- hcluster1-proxysql-uroot-proot_password
故障排除¶
如果Kubectl得到PXC命令不显示准备好了状态过长,可以检查创建进程是否正常库贝特尔去拿吊舱命令:
美元kubectl得到豆荚
预期的输出
NAME READY STATUS重启AGE cluster1-haproxy-0 2/2 Running 0 6m17s cluster1-haproxy-1 2/2 Running 0 4m59s cluster1-haproxy-2 2/2 Running 0 4m36s cluster1-pxc-0 3/3 Running 0 6m17s cluster1-pxc-1 3/3 Running 0 3m56s percona-xtradb-cluster-operator-79966668bd雷竞技下载官网-rswbk 1/1 Running 0 9m54s
命令的输出显示了一些错误,可以使用Kubectl描述命令如下:
美元kubectl描述圆荚体cluster1-pxc-2
的详细信息警告语句,然后更正配置。警告的示例如下:
警告FailedScheduling 68s (x4 / 2m22s)默认调度器0/1节点可用:1个节点不匹配pod亲和性/反亲和性,1个节点不满足现有的pod反亲和性规则。
移除AKS集群¶
要删除集群,您需要准备以下数据:
- 您的AKS集群名称,
- 部署集群的AWS区域。
方法清理集群Az aks删除命令如下所示(使用实名而不是。<资源组>和<集群名称>占位符):
美元阿兹部删除——名字<集群名称>——资源组<资源组>——是的——不
执行该命令后,实际删除集群可能需要10分钟。
警告
删除集群后,集群中存储的所有数据将丢失!