部署方案搞得花里胡哨并不会有什么好处,只会陷入失控

查看 61|回复 2
作者:ccde8259   
故事的背景是来自于 HomeLab 上的一套 K8S ,部署了 Grafana 等应用,后端存储需要一个 MySQL……怎么部署这个 MySQL 呢?
先看了一眼 dev.mysql.com 里边,有个 MySQL Operator for Kubernetes 。很好,就他了!默认直接一个三副本集群,走的是 Group Replication 的方案……
然后 MySQL 存储 PVC 咋么搞呢? local pv ?不如直接 Ceph ?然后看了一眼 Rook Ceph ,直接一把梭……默认又是一个三副本的集群起来了……
很好,到这里一份数据存三遍在一块盘里,三块盘一共存了九份……倒也不是不能接受……反正就是浪费一丢丢丢空间而已嘛……
重启了一趟,运维灾难就来了。重启以后得等 Rook Ceph 的所有 Pod 拉起来,然后所有 Pod 的 PV 才能用……进一步的,MySQL Group Replication 要开始选举,选举出 Master 以后还不能用……所有的 Slave 要重新做主从同步,这个时候由于 Ceph 本身 I/O 性能不如裸盘导致这个同步奇慢无比……再加上 MySQL Group Replication 插件时不时还会有一些报错:Fatal error during execution on the Applier module of Group Replication.自始至终集群状态都是不可用,MySQL Router 一直处于 CrashLoopBackOff 的状态……进一步所有应用因为连不上 MySQL ,一直 CrashLoopBackOff……
每次重启就得为这个错误的选择浪费一下午时间……

MySQL, Ceph, Group, pod

Senorsen   
数据库应用,为啥不直接 local pv
mightybruce   
这不是部署花里胡哨,是根本没有选型。operator 那么多,为什么选 dev.mysql.com
ceph 是作为网络存储,慢一点那是必然。
更大一点的 mysql 集群,要么自己魔改 mysql 存储引擎,要么用云厂商的 mysql 吧。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部