我們已經介紹了如何在 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/radondb-mysql-kubernetes/

點擊 創建,回傳倉庫串列頁面,當倉庫狀態切換為 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/radondb-mysql-kubernetes
3.快速搭建:https://rancher.com/docs/rancher/v2.6/en/quick-start-guide/deployment/quickstart-manual-setup/
4.YAML 集群樣例:https://github.com/radondb/radondb-mysql-kubernetes/blob/main/config/samples/mysql_v1alpha1_mysqlcluster.yaml
5.配置引數:https://github.com/radondb/radondb-mysql-kubernetes/blob/main/docs/config_para.md
6.Set Up Load Balancer and Ingress Controller within Rancher:https://rancher.com/docs/rancher/v2.6/en/k8s-in-rancher/load-balancers-and-ingress/
7.訪問集群中的應用程式:https://kubernetes.io/zh-cn/docs/tasks/access-application-cluster/
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/500600.html
標籤:MySQL
上一篇:原創宣告:求連續90日每日的用戶留存率 -- 全網唯一
下一篇:MySQL實戰45講 20
