先看了一眼 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……
每次重启就得为这个错误的选择浪费一下午时间……