容器化 | 在 K8s 上部署 RadonDB MySQL Operator 和集群

本文详细介绍了如何在Kubernetes集群上部署RadonDB MySQL Operator 2.1.2,包括添加Helm仓库、部署Operator和集群、校验及卸载流程,提供了一种快速实现MySQL高可用集群部署的方法。

作者:程润科 数据库研发工程师

编辑:张莉梅 高级文档工程师

视频:钱芬 高级测试工程师

本文将演示在 Kubernetes 上部署 RadonDB MySQL Kubernetes 2.X(Operator)的步骤,快速实现 MySQL 高可用集群部署,以及部署集群的校验和卸载方式。

部署版本为 RadonDB MySQL Kubernetes 2.1.2

部署准备

  • Kubernetes 集群
  • MySQL 客户端工具

部署过程

步骤 1: 添加 Helm 仓库

添加 Helm 仓库 radondb

helm repo add radondb https://radondb.github.io/radondb-mysql-kubernetes/

校验仓库信息,可查看到名为 radondb/mysql-operator 的 chart。

$ helm search repo
NAME                            CHART VERSION   APP VERSION                     DESCRIPTION                 
radondb/mysql-operator          0.1.0           v2.1.2                          Open Source,High Availability Cluster,based on MySQL                     

步骤 2: 部署 Operator

以下指定 release 名为 demo , 创建一个名为 demo-mysql-operatorDeployment[1]。

helm install demo radondb/mysql-operator
### Kubernetes 部署 MySQL Operator 成功示例 在 Kubernetes (k8s) 环境中,部署 MySQL Operator 是一种高效管理 MySQL 数据库实例的方式。以下是一个完整的示例,展示如何成功安装部署 MySQL Operator。 #### 1. 安装 MySQL Operator 首先需要安装 MySQL Operator。可以通过 Helm Chart 或直接使用 YAML 文件完成安装。以下是通过 Helm 的方法: ```bash # 添加 MySQL Operator 的 Helm 仓库 helm repo add mysql https://mysql.github.io/mysql-operator/ # 更新本地 Helm 仓库缓存 helm repo update # 安装 MySQL Operator helm install mysql-operator mysql/mysql-operator --namespace mysql-operator --create-namespace ``` 上述命令会将 MySQL Operator 安装到名为 `mysql-operator` 的命名空间中[^1]。 #### 2. 创建 MySQL 实例 安装完成后,可以创建一个自定义资源 (CRD) 来定义 MySQL 实例。以下是一个示例 YAML 文件: ```yaml apiVersion: mysql.oracle.com/v2 kind: InnoDBCluster metadata: name: sample-mysql-cluster spec: instances: 3 router: instances: 2 secretName: mysql-secret baseServerId: 10 tls: useSelfSigned: true ``` 将上述内容保存为 `mysql-instance.yaml`,然后使用以下命令应用配置: ```bash kubectl apply -f mysql-instance.yaml ``` 这将创建一个包含 3 个实例的 MySQL InnoDB Cluster,并启动 2 个 MySQL Router 实例[^2]。 #### 3. 验证部署状态 可以通过以下命令检查 MySQL Operator 相关组件的状态: ```bash # 检查 MySQL Operator 的 Pod 状态 kubectl get pods -n mysql-operator # 检查 MySQL Cluster 的状态 kubectl get innodbclusters -n default # 查看 MySQL Router 的状态 kubectl get pods | grep mysql-router ``` 如果所有 Pod 都处于 `Running` 状态,则说明部署成功[^3]。 #### 4. 访问 MySQL 实例 可以通过 MySQL Router 或直接连接到 MySQL Pod 来访问数据库实例。例如,使用以下命令进入 MySQL Pod 并连接到数据库: ```bash kubectl exec -it <mysql-pod-name> -- mysql -u root -p ``` 输入密码后即可进入 MySQL 命令行界面。 --- ### 注意事项 - 确保 Kubernetes 集群版本与 MySQL Operator 兼容。 - 在生产环境中,建议使用正式签名的 TLS 证书而不是自签名证书。 - 如果遇到问题,可以查看 Operator 的日志以排查错误:`kubectl logs -n mysql-operator <operator-pod-name>`[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值