关于数据库:容器化-在-Rancher-中部署-MySQL-集群

21次阅读

共计 2600 个字符,预计需要花费 7 分钟才能阅读完成。

咱们曾经介绍了如何在 Kubernetes 和 KubeSphere 上部署 RadonDB MySQL 集群。本文将演示如何在 Rancher[1] 上部署 RadonDB MySQL Kubernetes 2.2.0[2],疾速取得一套 MySQL 容器化集群。

部署筹备

  • 已部署 Rancher 集群 [3]
  • MySQL 客户端(非必须)

本文中 Rancher 语言环境为中文。

部署步骤

1、增加 Helm 仓库

登录 Rancher 治理控制台后,点击 指标集群 > 利用及利用市场 > Chart 仓库 ,创立一个新的仓库。

自定义仓库名称 mysql-operator,指标可抉择 http(s) 形式,配置索引 URL 为:https://radondb.github.io/rad…

点击 创立 ,返回仓库列表页面。当仓库状态切换为 Active,示意仓库失常运行。

2、部署 Operator

一个 Rancher 集群仅需部署一次 RadonDB MySQL Operator。点击 利用和利用市场 > Charts,进入 Charts 列表页面。搜寻到 mysql-operator,进入部署 Operator 页面,可抉择 mysql-operator Charts 版本 (省略,默认部署最新版 2.2.0)。

装置

步骤 1:填写名称,勾选在装置前自定义 Helm 选项,点击下一步。

步骤 2:自定义编辑利用 YAML,点击下一步。

步骤 3:确认其余部署选项,点击装置。

装置实现后,跳转到 已装置的利用 治理页面。能够在下方列表中看到利用的状态,资源,存活工夫等。

3、部署 RadonDB MySQL 集群

部署集群能够通过命令或者导入 YAML 的形式(视频中演示的形式)。

通过命令形式

在集群治理页面,点击右上角 Kubectl 命令图标。在命令窗口,输出创立集群命令。
如下示例,部署一个三节点的样例集群。

# Run kubectl commands inside here
# e.g. kubectl get all
$ cat <<EOF | kubectl apply -f-
apiVersion: mysql.radondb.com/v1alpha1
kind: MysqlCluster
metadata:
   name: sample
spec:
   replicas: 3
EOF

回车执行命令,回显提醒 created 则部署胜利。预期回显信息示例:

mysqlcluster.mysql.radondb.com/sample created

通过导入 YAML 形式

在 Rancher 集群治理页面,点击右上角 YAML 导入图标。在弹出的窗口中,导入批改后的 YAML 文件。

YAML 文件可参考 RadonDB MySQL 集群配置样例 [4]。批改 YAML 文件中配置参数值,请参见配置参数 [5]。

4、部署验证

在集群治理页面,抉择 服务发现 > 服务 ,进入服务列表页面。

找到部署的集群,查看服务状态。状态为 Active,示意服务失常运行。

点击服务名称,进入服务详情页面,查看 Pod 状态。状态为 Active,示意 Pod 失常运行。

在正在运行的 Pod 行,点击 Execute Shell,开展 Pod 命令窗口。执行如下命令并输出明码,验证数据库连贯状态。

$ mysql -u root -p

拜访 RadonDB MySQL

  • 当客户端与数据库部署在不同 Rancher 集群,请 在 Rancher 中设置 Load Balancer 和 Ingress Controller[6]。

更多拜访形式,请参见 Kubernetes 拜访集群中的应用程序 [7]。

  • 当客户端与数据库部署在同一 Rancher 集群内,可抉择应用 service_name 或者 clusterIP 形式,拜访 RadonDB MySQL。

阐明:RadonDB MySQL 提供 Leader 服务和 Follower 服务用于别离拜访主从节点。Leader 服务始终指向主节点(读写),Follower 服务始终指向从节点(只读)。

以下为客户端与数据库在同一 Rancher 集群内,拜访 RadonDB MySQL 的形式。

1、service_name 形式

连贯 Leader 服务 (RadonDB MySQL 主节点)

$ mysql -h <leader_service_name>.<namespace> -u <user_name> -p

用户名为 radondb_usr,release 名为 sample,RadonDB MySQL 命名空间为 default ,连贯示例如下:

$ mysql -h sample-leader.default -u radondb_usr -p

连贯 Follower 服务 (RadonDB MySQL 从节点)

$ mysql -h <follower_service_name>.<namespace> -u <user_name> -p

用户名为 radondb_usr,release 名为 sample,RadonDB MySQL 命名空间为 default,连贯示例如下:

$ mysql -h sample-follower.default -u radondb_usr -p

2、clusterIP 形式

RadonDB MySQL 的高可用读写 IP 指向 Leader 服务的 clusterIP,高可用只读 IP 指向 Follower 服务的 clusterIP

$ mysql -h <clusterIP> -P <mysql_Port> -u <user_name> -p

以下示例用户名为 radondb_usr,Leader 服务的 clusterIP 为 10.10.128.136,连贯示例如下:

$ mysql -h 10.10.128.136 -P 3306 -u radondb_usr -p

视频演示 demo 请至 B 站搜寻【RadonDB】

援用链接

1.Rancher:https://rancher.com

2.RadonDB MySQL Kubernetes 2.2.0:https://github.com/radondb/ra…

3. 疾速搭建:https://rancher.com/docs/ranc…

4.YAML 集群样例:https://github.com/radondb/ra…

5. 配置参数:https://github.com/radondb/ra…

6.Set Up Load Balancer and Ingress Controller within Rancher:https://rancher.com/docs/ranc…

7. 拜访集群中的应用程序:https://kubernetes.io/zh-cn/d…

正文完
 0