V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xyqhkr
V2EX  ›  Kubernetes

kubernetes 上的 mysql 主从模式是否有必要

  •  
  •   xyqhkr · 2020-06-03 17:43:59 +08:00 · 3410 次点击
    这是一个创建于 1394 天前的主题,其中的信息可能已经有所发展或是发生改变。

    kubernetes 本身就支持了 pod 的可用性,使用 kubernetes 部署 mysql 是否还有必要使用主从复制的模式??

    如果为了解决高并发,直接双主模式就可以了吧?

    可否使用 共享存储 的方式,使用同一份数据,启动多个 mysql pod 呢?

    11 条回复    2020-06-04 16:23:20 +08:00
    zhenjiachen
        1
    zhenjiachen  
       2020-06-03 18:05:37 +08:00 via iPhone
    我也想知道,我想在 k8s 上部署 vitess,但是文档没太看懂,教程也比较少。
    ica10888
        2
    ica10888  
       2020-06-03 18:36:55 +08:00 via Android
    读写分离啊...
    cheng6563
        3
    cheng6563  
       2020-06-03 21:35:08 +08:00 via Android
    MySQL 做不了多主。共享存储也不能写入吧。k8s 其实天生跟传统数据库不太搭的。
    WispZhan
        4
    WispZhan  
       2020-06-03 22:05:56 +08:00
    就算是多主,你也不能共享存储啊。
    @cheng6563 +1, 传统数据库 和 云原生的东西不搭, 你专门找云原生的数据库吧。
    thinkmore
        5
    thinkmore  
       2020-06-04 09:46:57 +08:00
    一般不在 kubernetes 中部署。我们一般部署的是无状态应用,mysql 主从属于有状态的,部署以及理解起来都稍微麻烦些。可以考虑用独立机器来部署
    xyqhkr
        6
    xyqhkr  
    OP
       2020-06-04 14:40:54 +08:00
    @cheng6563 Mysql 可以双主或者多主部署的。 K8S 只是因为缺少动态描述,暂时对有状态应用不太友好。
    我使用的 nas 存储来共享数据的。
    xyqhkr
        7
    xyqhkr  
    OP
       2020-06-04 14:44:37 +08:00   ❤️ 1
    @thinkmore 恩,使用 StatefulSets 部署有状态应用确实麻烦。不过你可以看看 Operator,是可以一键部署分布式应用的,mysql/ kafka 等这类有状态应用都是一键完成的。
    xyqhkr
        8
    xyqhkr  
    OP
       2020-06-04 14:45:43 +08:00
    @zhenjiachen 挺奇怪的,V 站上讨论这些的挺少的。
    xyqhkr
        9
    xyqhkr  
    OP
       2020-06-04 14:48:22 +08:00
    @ica10888 读写分离的意义是为了高并发吧,可以用 k8s 启动多个主 mysql,来分担流量。
    ica10888
        10
    ica10888  
       2020-06-04 15:44:46 +08:00
    @xyqhkr
    双主是热备方案吧,我觉得高并发的瓶颈一般是在 mysql 事务上,流量如果是内网应该没啥瓶颈吧
    另外,大多数的选择都是主从读写方案,很少看到用双主的
    虽然我不太清楚双主怎么搭建,但是我感觉自己用 k8s api 写一个共享存储的 mysql 双主集群也没啥问题...
    xyqhkr
        11
    xyqhkr  
    OP
       2020-06-04 16:23:20 +08:00
    @ica10888 恩,如果从事务处理的角度看,主从倒是比双主好一些。其实我使用共享数据,主要是在想启动两个 mysql 可不可以只用一份数据,这样就省去了两个 mysql 通过 binlog 同步数据的步骤。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5272 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 09:21 · PVG 17:21 · LAX 02:21 · JFK 05:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.