MySQL Operator 第二篇

简介:

  Operator让部署高可用集群非常简单,但是官方的Opeartor示例太少了,更新也太慢,就是一个玩具。这里主要是想借鉴一下官方思路,看看官方是如何做的。

  •  部署MySQL Operator
  •  新建MySQL InnoDB Cluster集群
  •  测试连接

 

一、部署Operator
 
kubectl apply -f https://raw.githubusercontent.com/mysql/mysql-operator/trunk/deploy/deploy-crds.yaml
 
 
# 查看
kubectl get pods -n mysql-operator
 
 
二、部署InnoDB Cluster
1、secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: mypwds
stringData:
  rootUser: root
  rootHost: '%'
  rootPassword: "22QbCw6ZxXo5Bul7"
2、sample-cluster.yaml
apiVersion: mysql.oracle.com/v2alpha1
kind: InnoDBCluster
metadata:
  name: mycluster
spec:
  secretName: mypwds
  instances: 3
  router:
    instances: 2
3、手动创建PV(创建三个PV,metadata.name不同就行)
apiVersion: v1
kind: PersistentVolume
metadata:
  name: mysql-pv-volume-0
  labels:
    type: local
spec:
  capacity:
    storage: 2Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/data/mycluster"
 # 创建
kubectl apply -f secret.yaml kubectl apply -f sample-cluster.yaml kubectl apply -f pv01.yaml kubectl apply -f pv02.yaml kubectl apply -f pv03.yaml
# 注意: Operator会自动创建PVC,官方示例中没有提示要先准备好创建PV,但是这步是必须的,一般这里是最容易出错的,最好查看下PVC状态,看看有没有绑定
# kubectl get pvc
NAME                  STATUS   VOLUME              CAPACITY   ACCESS MODES   STORAGECLASS   AGE
datadir-mycluster-0   Bound    mysql-pv-volume-0   2Gi        RWO                           2h
datadir-mycluster-1   Bound    mysql-pv-volume-1   2Gi        RWO                           2h
datadir-mycluster-2   Bound    mysql-pv-volume-2   2Gi        RWO                           2h

三、访问测试

# 查看service ip
kubectl get service mycluster

mysql -h10.106.187.34 -P6446 -uroot -p
 # 查看MGR集群成员状态

mysql> SELECT MEMBER_HOST,MEMBER_STATE,MEMBER_ROLE,MEMBER_VERSION FROM performance_schema.replication_group_members;
+-----------------------------------------------------------+--------------+-------------+----------------+
| MEMBER_HOST | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION |
+-----------------------------------------------------------+--------------+-------------+----------------+
| mycluster-1.mycluster-instances.default.svc.cluster.local | ONLINE | SECONDARY | 8.0.25 |
| mycluster-2.mycluster-instances.default.svc.cluster.local | ONLINE | SECONDARY | 8.0.25 |
| mycluster-0.mycluster-instances.default.svc.cluster.local | ONLINE | PRIMARY | 8.0.25 |
+-----------------------------------------------------------+--------------+-------------+----------------+
3 rows in set (0.00 sec)
 
原文地址:https://www.cnblogs.com/9527l/p/15353184.html