kubernetes 本身就支持了 pod 的可用性,使用 kubernetes 部署 mysql 是否还有必要使用主从复制的模式??
如果为了解决高并发,直接双主模式就可以了吧?
可否使用 共享存储 的方式,使用同一份数据,启动多个 mysql pod 呢?
1
zhenjiachen 2020-06-03 18:05:37 +08:00 via iPhone
我也想知道,我想在 k8s 上部署 vitess,但是文档没太看懂,教程也比较少。
|
2
ica10888 2020-06-03 18:36:55 +08:00 via Android
读写分离啊...
|
3
cheng6563 2020-06-03 21:35:08 +08:00 via Android
MySQL 做不了多主。共享存储也不能写入吧。k8s 其实天生跟传统数据库不太搭的。
|
4
WispZhan 2020-06-03 22:05:56 +08:00
就算是多主,你也不能共享存储啊。
@cheng6563 +1, 传统数据库 和 云原生的东西不搭, 你专门找云原生的数据库吧。 |
5
thinkmore 2020-06-04 09:46:57 +08:00
一般不在 kubernetes 中部署。我们一般部署的是无状态应用,mysql 主从属于有状态的,部署以及理解起来都稍微麻烦些。可以考虑用独立机器来部署
|
6
xyqhkr OP @cheng6563 Mysql 可以双主或者多主部署的。 K8S 只是因为缺少动态描述,暂时对有状态应用不太友好。
我使用的 nas 存储来共享数据的。 |
7
xyqhkr OP @thinkmore 恩,使用 StatefulSets 部署有状态应用确实麻烦。不过你可以看看 Operator,是可以一键部署分布式应用的,mysql/ kafka 等这类有状态应用都是一键完成的。
|
8
xyqhkr OP @zhenjiachen 挺奇怪的,V 站上讨论这些的挺少的。
|
10
ica10888 2020-06-04 15:44:46 +08:00
@xyqhkr
双主是热备方案吧,我觉得高并发的瓶颈一般是在 mysql 事务上,流量如果是内网应该没啥瓶颈吧 另外,大多数的选择都是主从读写方案,很少看到用双主的 虽然我不太清楚双主怎么搭建,但是我感觉自己用 k8s api 写一个共享存储的 mysql 双主集群也没啥问题... |
11
xyqhkr OP @ica10888 恩,如果从事务处理的角度看,主从倒是比双主好一些。其实我使用共享数据,主要是在想启动两个 mysql 可不可以只用一份数据,这样就省去了两个 mysql 通过 binlog 同步数据的步骤。
|