前言
上篇文章介绍了k8s使用Kubesphere部署有状态服的理论知识,有了上篇文章的理论知识做铺垫的话,使用Kubesphere搭建MySQL集群的话就简单多了!
创建MySQL主节点
1.创建ConfigMap
上面的my.cnf中的配置就是普通的主从配置在之前有篇文章也有介绍过MySql集群搭建
那么到这里主节点MySQL的配置就创建好了
2.创建PVC
大小根据实际业务来
那么到这里主节点MySQL的PVC就创建好了
3.创建服务
下面配置根据实际项目情况来?(1核等于1000M)
这里的MySQL环境变量可以参照官网上的一篇部署文档创建 Wordpress 应用并发布至 Kubernetes
挂载上面创建好的ConfigMap
这里的意思就是相当于在将我们的ConfigMap中的my.cnf挂载到mysql容器里面的/etc/mysql目录中的my.cnf
PVC存储挂载,这里的/var/lib/mysql目录实际上也就是MySQL容器里存放数据的目录
MySQL创建中
那么这时的MySQL的主节点就搭建完成了
查看mysql主节点的my.cnf配置,进入容器终端
进入终端后其实就相当于docker exec -it xxx /bin/bash一样
这里的my.cnf就挂载成功
在其他pod容器中ping一下当前的MySQL
复制MySQL的master节点的DNS
在一个带有ping命令的容器或者自己安装ping命令
测试成功,只要是在k8s集群内部的任何容器都能通过DNS访问通信,当主节点的MySQL宕机狗,从新拉起还是会使用同一个DNS,那么这时提供的域名就是一个稳定的,无需考虑部署节点的IP问题
创建MySQL从节点
添加Mysql配置
创建PVC
创建服务
添加从节点的存储PVC和从节点的ConfigMap
那么从节点的MySQL也就创建好了
配置MySQL的自从
这里的配置和正常搭建MySQL主从的操作是一样的,MySql集群搭建
进入MySQL主节点的容器内部
这里的操作和之前一篇文章是一样的
复制mysql-bin.000003
进入MySQL的从节点终端
在mysql主节点创建上面my.cnf中设置的test_db
在mysql的从节点查看同步的数据库test_db
那么到这里MySQL的主从复制就搞定了!