• 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)
     
  • 相关阅读:
    FastDFS+Nginx部署详细教程
    简单的区别记录
    linux搜索命令之find和grep
    [转载]redis持久化的两种操作RDB和AOF
    多线程的一点点整理
    利用spring-mail模块发送带附件邮件dome
    java集合类总结
    微信支付 遇到的问题
    dubbo监控工具
    Maven配置dubbo环境简单例子
  • 原文地址:https://www.cnblogs.com/9527l/p/15353184.html
Copyright © 2020-2023  润新知