容器化 | K8s 部署 RadonDB MySQL Operator 和集群
作者:程润科 数据库研发工程师
编辑:张莉梅 高级文档工程师
视频:钱芬 高级测试工程师
本文将演示在 Kubernetes 上部署 RadonDB MySQL Kubernetes 2.X(Operator)的步骤,快速实现 MySQL 高可用集群部署,以及部署集群的校验和卸载方式。
部署版本为 RadonDB MySQL Kubernetes 2.1.2。
部署准备
Kubernetes 集群
MySQL 客户端工具
部署过程
步骤 1: 添加 Helm 仓库
添加 Helm 仓库 radondb
。
校验仓库信息,可查看到名为 radondb/mysql-operator
的 chart。
步骤 2: 部署 Operator
以下指定 release 名为 demo
, 创建一个名为 demo-mysql-operator
的 Deployment[1]。
在这一步中,默认将同时创建集群所需的 CRD[2]。
步骤 3: 部署 RadonDB MySQL 集群
执行以下指令,以默认参数为 CRD mysqlclusters.mysql.radondb.com
创建一个实例,即创建 RadonDB MySQL 集群。
自定义集群部署参数,可参考 配置参数[3]。
部署校验
校验 RadonDB MySQL Operator
查看 demo
的 Deployment 和对应监控服务,回显如下信息则部署成功。
校验 RadonDB MySQL 集群
执行如下命令,将查看到如下 CRD。
以默认部署为例,执行如下命令将查看到名为 sample-mysql
的三节点 RadonDB MySQL 集群及用于访问节点的服务。
访问集群
在 Kubernetes 集群内,支持使用 service_name
或者 clusterIP
方式,访问 RadonDB MySQL。
RadonDB MySQL 提供 Leader 和 Follower 两种服务,分别用于客户端访问主从节点。Leader 服务始终指向主节点(可读写),Follower 服务始终指向从节点(只读)。
RadonDB MySQL 集群架构图
以下为客户端与数据库在同一 Kubernetes 集群内,访问 RadonDB MySQL 的方式。
当客户端的与数据库部署在不同 Kubernetes 集群,请参考 Kubernetes 访问集群中的应用程序[4],配置端口转发、负载均衡等连接方式。
ClusterIP 方式
RadonDB MySQL 的高可用读写 IP 指向 Leader 服务的 clusterIP
,高可用只读 IP 指向 Follower 服务的 clusterIP
。
以下示例用户名为 radondb_usr
, Leader 服务的 clusterIP 为 10.10.128.136
,连接示例如下:
service_name 方式
Kubernetes 集群的 Pod 之间支持通过 service_name
方式访问 RadonDB MySQL。
service_name
方式不适用于从 Kubernetes 集群的物理机访问数据库 Pod。连接 Leader 服务(RadonDB MySQL 主节点)
用户名为 radondb_usr
,release 名为 sample
,RadonDB MySQL 命名空间为 default
,连接示例如下:
连接 Follower 服务(RadonDB MySQL 从节点)
用户名为 radondb_usr
,release 名为 sample
,RadonDB MySQL 命名空间
为 default
,连接示例如下:
卸载
卸载 Operator
卸载当前命名空间下 release 名为 demo
的 RadonDB MySQL Operator。
卸载集群
卸载 release 名为 sample
RadonDB MySQL 集群。
卸载自定义资源
引用参考
Deployment:https://kubernetes.io/zh/docs/concepts/workloads/controllers/deployment/
CRD:https://kubernetes.io/zh/docs/concepts/extend-kubernetes/api-extension/custom-resources/
配置参数:https://github.com/radondb/radondb-mysql-kubernetes/blob/main/docs/zh-cn/config_para.md
Kubernetes 访问集群中的应用程序:https://kubernetes.io/zh/docs/tasks/access-application-cluster/
*相关部署视频可至 RadonDB 开源社区 B 站账号观看(搜索:RadonDB)
版权声明: 本文为 InfoQ 作者【RadonDB】的原创文章。
原文链接:【http://xie.infoq.cn/article/fb0bdefea27bea5d4e3279caa】。文章转载请联系作者。
评论