Mysql

Mysql-Operator目前还处于alpha阶段,当前最新版本为0.3.0。本文将介绍0.3.0版本的安装。

Github上介绍的安装方法为Helm,不过为了简单起见,本文把Chart里面的Yaml文件抽了出来,直接使用Kubernetes的命令进行安装。

环境信息如下:

  • kubernetes: v1.14.0

  • docker-ce: 18.06

创建CRD

$ kubectl apply crd.yaml

crd.yaml文件如下

创建命名空间

$ kubectl create namespace mysql-operator

RBAC

$ kubectl apply -f rbac.yaml

rbac.yaml文件的内容如下:

安装Operator

首先,使用以下的yaml文件安装mysql-operator

创建MysqlCluster

接下来我们在default命名空间中创建一个Mysql集群。首先要在default命名空间中创建如下的ServiceAccountRoleBinding

然后,我们就可以创建一个一主两从的Mysql集群了(注意这里使用了rbd分布式存储,所以k8s集群要对接好ceph-rbd)

此时,在集群中我们会看到一个StatefulsetHeadless Service以及PersistentVolumeClaim

连接Mysql

首先获取root密码

然后创建一个Pod

进入到Pod里面,连接mysql集群的主节点

然后创建一个database

接下来,我们从mysql-client连接mysql集群的一个从节点mysql-test-cluster-1

然后查看里面的database,发现有了peng这个database(即已经同步了主节点的数据)

接下来我们尝试在该从节点上创建一个database试试,发现报如下的错

Reference

  • https://github.com/oracle/mysql-operator

  • https://github.com/oracle/mysql-operator/blob/master/docs/tutorial.md

  • https://github.com/oracle/mysql-operator/blob/master/docs/user/clusters.md#clusters

Last updated

Was this helpful?