k8s安装mysql主从_K8S部署MySQL主从

一、部署说明

可以使用kubesphere,快速搭建MySQL环境。有状态服务抽取配置为 ConfigMap

有状态服务必须使用 pvc 持久化数据

服务集群内访问使用 DNS 提供的稳定域名

c97402df6db907c98c7067fc8f921a74.png

k8s部署有状态服务的话就是参照上面的图。

部署详细说明:有状态服务抽取配置为ConfigMap

在之前我们使用Docker 部署MySQL的时候也会将conf、logs、data等数据挂载到宿主机上,那么在k8s里面的话专门有一个空间是管理配置文件的也就是上面提到的ConfigMap,可以将一些常用的配置抽离出来做成ConfigMap配置,后来不管是MySQL挂了重启还是创建新的MySQL都可已使用同一个ConfigMap中的配置,这也就是第一点将有状态服的配置抽离到ConfigMap中来,这样后期修改配置就只需要更改ConfigMap就行了

有状态服务必须使用PVC持久化数据

每个MySQL都会用自己的数据存储,那么在k8s中存在一个专门存储数据的空间,也就是上面提到的PVC, 每一个MySQL都会分配一个PVC数据存储空间,或者共享一个PVC空间,也就是想Docker挂载出来的data目录一样,在Docker中的MySQL容器重启后MySQL中的数据还存在,那么k8s中的MySQL挂掉后重启后也会在PVC中找持久化的数据,那么这样就不会存在在其他节点拉起MySQL存在数据丢失的问题了

服务集群内访问使用DNS提供稳定的域名

在上面图中存在一个主节点MySQL和两个从节点MySQL,在这个MySQL集群中个节点间是要相互通信访问的,这里实现各节点间通信访问的话就需要使用Headless Service服务,这个服务就是集群中间相互访问的,在k8s中最小的部署单元是pod,如MySQL0就是一个pod,那么我们将这个pod包装成一个Service,同时让k8s为这个Service生成一个域名,DNS为这个服务提供一个稳定域名,如图上为MySQL0这个服务提供了mysql-0.test域名,其他的pod对外暴露服务后也会提供相应的域名,那么各节点通信就可以使用域名访问,这里提供域名的好处就是防止某台对外暴露的服务突然挂掉了,在别的机器上拉起,那么这时的ip就会发生改变,那么集群内的所有应用,包括服务自己都可以使用域名来访问

二、创建主从有状态服务

1、创建mysql master有状态服务

3e9083b4b53b9d2fec8d1b307d5a0e5d.png

操作步骤:

1)、基本信息:

cc0e9a8bff4d1202069bbaf9f5adad13.png

2)、容器镜像:

设置MySQL容器镜像,MySQL:5.7 版本,内存设置为2G,环境变量使用之前设置好的MySQL密钥。

2583ef2e24d87d46e89820a7defe6c8a.png

c643cbd190e28d236ca06683a247b2e9.png

3)、挂载存储:

b8b0429dc840c30ff66bf6b9f7806f12.png

这里可以挂载配置文件或密钥,所以,接下来另开一个窗口,在配置中心->配置,创建配置文件:

cdb011004e56b76dcf7dcb0ea867849f.png

①、创建配置基本信息

943fe80b5d6e724fa8a0868565189e3c.png

②、设置mysql配置文件

my.cnf[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

init_connect='SET collation_connection = utf8_unicode_ci'

init_connect='SET NAMES utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值