Oracle官方的MySQL Operator是在Kubernetes集群中部署MySQL InnoDB集群的简单方式。本篇文章介绍通过kubectl来安装部署MySQL InnoDB集群。
- 首先创建root账号密码
 
$> kubectl create secret generic mypwds \
        --from-literal=rootUser=root \
        --from-literal=rootHost=% \
        --from-literal=rootPassword="sakila"
2、使用创建的root账号来配置InnoDB集群,比如创建包含三个节点,一个路由节点的集群可以使用如下配置
apiVersion: mysql.oracle.com/v2
kind: InnoDBCluster
metadata:
  name: mycluster
spec:
  secretName: mypwds
  tlsUseSelfSigned: true
  instances: 3
  router:
    instances: 1
3、保存上面配置为mycluster.yaml,并应用该配置
$> kubectl apply -f mycluster.yaml
可以使用如下命令查看是否正常安装
$> kubectl get innodbcluster --watch
输出类似
NAME          STATUS    ONLINE   INSTANCES   ROUTERS   AGE
mycluster     PENDING   0             3                   1         10s
过个几分钟,status变成ONLINE说明已经正常安装
NAME        STATUS   ONLINE   INSTANCES   ROUTERS   AGE
mycluster   ONLINE   3              3                     1             5m10s
可以通过如下shell命令确认是否数据库已经可以正常连接
$> kubectl exec -it mycluster-0 -c mysql -- mysql -u root -p sakila