程润科
数据库研发工程师,目前从事 RadonDB MySQL Kubernetes 研发,热衷于钻研数据库内核、K8s 相干技术。
张莉梅
高级文档工程师,目前负责数据库产品文档开发、保护和管理工作。
本文将演示如何在 KubeSphere[1] 上部署 RadonDB MySQL on Kubernetes 2.1.2,疾速实现高可用的 MySQL on K8s。
部署筹备
- 确保已启用 OpenPitrix 零碎[2]
- 创立一个企业空间、一个我的项目和一个用户供本操作应用[3]
- 装置过程中,请以
admin
身份登录控制台,在企业空间demo
中的demo-project
我的项目中进行操作 - 确保 KubeSphere 我的项目网关已开启外网拜访[4]
入手试验
1、增加利用仓库
- 登录 KubeSphere 的 Web 控制台。
- 在
demo
企业空间中,进入利用治理下的利用仓库页面,点击增加,弹出仓库配置对话框。 -
输出仓库名称和仓库 URL。
- 输出
radondb-mysql-operator
作为利用仓库名称。 - 输出
https://radondb.github.io/radondb-mysql-kubernetes/
作为仓库的 URL,并点击验证以验证 URL,在 URL 旁边出现一个绿色的对号,验证通过后,点击确定持续。
- 输出
- 将仓库胜利导入到 KubeSphere 之后,在列表中即可查看 RadonDB MySQL 仓库。
2、部署 RadonDB MySQL Operator
- 在 demo-project 我的项目中,进入利用负载下的利用页面,点击部署新利用。
- 在对话框中,抉择来自利用模板,进入利用模版页面。
- 从下拉菜单中抉择 radondb-mysql-operator 利用仓库。
- 点击 mysql-operator 利用图标,查看和配置利用信息。
- 在配置文件选项卡,可查看和编辑 values.yaml 配置文件;在版本列框区域,可查看和抉择版本号。
- 点击部署,进入 mysql-operator 利用根本信息配置页面,确认利用名称、利用版本以及配置部署地位。
- 点击下一步,进入 mysql-operator 利用配置页面,确认 values.yaml 配置信息,可编辑文件批改配置。
- 点击部署,返回利用模版页面。待利用状态切换为运行中,则利用部署胜利。
更新 Operator
若已在 KubeSphere 部署过历史版本 Operator,能够抉择如下形式更新到最新版本。
- 在 KubeSphere 平台删除历史版本 Operator 利用。
- 参考如上步骤,装置最新版本 Operator。
- 执行如下命令更新 CRD 版本。如下示例为更新 CRD 到 2.1.2 版。
kubectl apply -f https://raw.githubusercontent.com/radondb/radondb-mysql-kubernetes/v2.1.2/charts/mysql-operator/crds/mysql.radondb.com_mysqlclusters.yaml
3、部署 RadonDB MySQL 集群
可任选一个 RadonDB MySQL 配置示例[5] 部署,或自定义配置部署。
以 mysql_v1alpha1_mysqlcluster.yaml
模版为例,创立一个 RadonDB MySQL 集群。
- 在右下角 工具箱中抉择 Kubectl 工具,关上终端窗口。
- 执行以下命令,装置 RadonDB MySQL 集群。
kubectl apply -f https://github.com/radondb/radondb-mysql-kubernetes/releases/latest/download/mysql_v1alpha1_mysqlcluster.yaml --namespace=<project_name>
留神
未指定我的项目时,集群将被默认装置在 kubesphere-controls-system
我的项目中。若需指定我的项目,装置命令需增加 --namespace=<project_name>
。
预期后果
$ kubectl apply -f https://github.com/radondb/radondb-mysql-kubernetes/releases/latest/download/mysql_v1alpha1_mysqlcluster.yaml --namespace=demo-project
mysqlcluster.mysql.radondb.com/sample created
- 集群创立成绩后,执行如下命令,可查看 RadonDB MySQL 集群节点服务。
kubectl get statefulset,svc
预期后果
$ kubectl get statefulset,svc
NAME READY AGE
statefulset.apps/sample-mysql 3/3 10m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/default-http-backend ClusterIP 10.96.69.202 <none> 80/TCP 3h2m
service/sample-follower ClusterIP 10.96.9.162 <none> 3306/TCP 10m
service/sample-leader ClusterIP 10.96.255.188 <none> 3306/TCP 10m
service/sample-mysql ClusterIP None <none> 3306/TCP 10m
部署校验
在 demo-project
我的项目中,查看 RadonDB MySQL 集群状态。
- 进入 利用负载 下的 服务 页面,可查看集群服务信息。
- 进入 利用负载 下的 工作负载 页面,点击 有状态正本集 ,可查看集群状态。进入一个 有状态正本集 详情页面,点击 监控 标签页,可查看肯定工夫范畴内的集群指标。
- 进入 利用负载 下的 容器组 页面,可查看集群节点运行状态。
- 进入 存储 下的 存储卷 页面,可查看存储卷。查看某个存储卷用量信息,以其中一个数据节点为例,能够看到以后存储的存储容量和残余容量等监控数据。
至此,实现在 KubeSphere 中部署 RadonDB MySQL 集群。
参考援用
[1]:KubeSphere:https://kubesphere.com.cn
[2]:OpenPitrix:https://kubesphere.io/zh/docs…
[3]:创立操作:https://kubesphere.io/zh/docs…
[4]:我的项目网关:https://kubesphere.io/zh/docs…
[5]:配置示例:https://github.com/radondb/ra…