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

用于 k8s 的最佳分布式存储框架是什么

  •  
  •   leiuu · 299 天前 · 4348 次点击
    这是一个创建于 299 天前的主题,其中的信息可能已经有所发展或是发生改变。

    RT

    没有分布式存储

    k8s 部署有状态服务时将面临繁琐和困难

    请问各位大佬

    哪些方案实践过比较好用

    有个前提是:团队较小,可能特别重量级的组件不适用

    34 条回复    2024-03-05 15:03:43 +08:00
    igeeky
        1
    igeeky  
       299 天前
    不想折腾,可以看看阿里云的共享存储方案.
    自己折腾,可以看看 MinIO, MinIO 是兼容 S3 的接口, 很成熟.
    xcai
        2
    xcai  
       299 天前
    rook
    BugCry
        3
    BugCry  
       299 天前 via Android
    Longhorn
    Kumo31
        4
    Kumo31  
       299 天前   ❤️ 1
    Longhorn 比较简单,也宣传是 k8s native 。小团队就不要上 rook 之类的 ceph 方案了,没有能力运维
    kuituosi
        5
    kuituosi  
       299 天前
    k8s 就不是为分布式存储设计的
    fuis
        6
    fuis  
       299 天前
    Kubernetes Storage Capabilities & Performance Analysis: Longhorn, Rook, OpenEBS, Portworx, and IOMesh Compared

    https://www.iomesh.com/blog/kubernetes_persistent_storage_comparison
    jigege2019
        7
    jigege2019  
       299 天前 via iPhone
    rook-ceph 挺好的,挺稳的,存储主要靠稳定
    dayeye2006199
        8
    dayeye2006199  
       299 天前
    简单点就 longhorn 好了,但是性能拉跨
    defunct9
        9
    defunct9  
       299 天前
    nfs
    iiusky
        10
    iiusky  
       299 天前
    nfs 简单直接,别搞那些乱七八糟的,小团队用不上
    DefoliationM
        11
    DefoliationM  
       299 天前 via Android
    nfs ,minio 真的是太乱了,不好管理,没直接 nfs 能看到文件直观。
    twl007
        12
    twl007  
       299 天前 via iPhone
    @jigege2019 ceph 运维太重了
    jigege2019
        13
    jigege2019  
       299 天前 via iPhone   ❤️ 1
    @twl007 还好吧,我都业余的。根据 rook 说明文档,很轻松就上手了。主要用了 longhorn/nfs 这些都不稳定,rook-ceph 跟到操作就对了,可能我们要求不高,也不怎么运维,就 10 块硬盘。三个副本保证数据不丢就对了,有次挂了二个硬盘数据都在
    jigege2019
        14
    jigege2019  
       299 天前 via iPhone
    首先考虑存储软件的成熟度,存储必须要稳定,然后在考虑运维这些
    xinmans
        15
    xinmans  
       299 天前 via iPhone
    nfs 够用了,性能比较强,比 smb 强
    idblife
        16
    idblife  
       299 天前
    rook-ceph
    根据官方文档配置即可
    Blank10030
        17
    Blank10030  
       299 天前
    longhorn 比较简单,性能也还行。
    clickhouse
        18
    clickhouse  
       299 天前
    推荐 nfs 。longhorn 基本不需要运维,有多副本灾备,但是在节点外处理里面的文件比较麻烦,也可以。
    leiuu
        19
    leiuu  
    OP
       299 天前
    @iiusky nfs 有个坑 高可用不好做啊 我看一般是绑定到具体单个节点的
    leiuu
        20
    leiuu  
    OP
       299 天前
    minio 本来这个方案我是看好的,但细致看了下,说不适合用于数据库之类的存储,有些场景还是得配合块存储的方案...
    twl007
        21
    twl007  
       299 天前 via iPhone
    @jigege2019 你这个只是最基本的 后面 Ceph 自己出了问题才是最麻烦的

    rook-ceph 的坑不在 Rook 而在 Ceph 而且因为 rook-ceph 藏住了很多细节 真到 Ceph 出问题的时候就是两眼一黑

    而且还有很多细节 rook-ceph 部署的时候配置 rack awarness 了么 k8s 升级的时候怎么配合一起重启 Ceph docker 升级的时候怎么逐步重启 全是坑 甚至 k8s 出问题的时候你想要恢复 Ceph 也是个挑战
    twl007
        22
    twl007  
       299 天前 via iPhone
    当然如果最后需求很多 那还是上 Ceph 不过建议独立部署 遵循 KISS

    k8s 挂了你还能重新部署 存储挂了可是你数据就没了
    jigege2019
        23
    jigege2019  
       299 天前 via iPhone
    @twl007 ceph 官方推荐在 k8s 中使用 rook ,我们要求也不高,服务器也就三台,也没遇到什么坑,主要感觉 ceph 挺稳的。根据 rook 文档从 ceph15 版本升级到 17 ,也没问题,服务也没中断。担心 k8s ,把 k8s 做成高可用/多主节点,kube-vip
    twl007
        24
    twl007  
       298 天前 via iPhone
    @jigege2019 个人建议慎重吧 另外现在 Ceph 官方也推荐他们自己的 Cephadm 建院尝试下这个 对于存储这种基础中的基础 还是建议遵循 KISS Ceph 已经足够复杂了

    另外版本升级的话最好加一下邮件组看看 Ceph 15 出现过升级中 OSD 格式转换错误导致数据丢失的问题 你看一下版本历史就知道了

    只能说没出问题一切安好 一旦出了问题就是两眼一黑
    eephee
        25
    eephee  
       298 天前
    @leiuu 楼主打算将 MySQL 部署中 k8s 中吗
    nrtEBH
        26
    nrtEBH  
       298 天前
    看存什么数据 用云盘 pvc 直接挂也没什么问题吧
    生产环境别搞太重
    leiuu
        27
    leiuu  
    OP
       298 天前
    @eephee 是的 想将很多有状态组件部署在 k8s 中 所以需要一个稳定的存储解决方案
    jigege2019
        28
    jigege2019  
       298 天前 via iPhone
    @twl007 也是。longhorn 我遇到丢过数据,nfs 有时要掉线。不管用啥还是得多备份,有啥其他稳定的推荐?
    twl007
        29
    twl007  
       298 天前 via iPhone
    @jigege2019 整体来说 开源基本都这样

    相比其他而言 Ceph 算是最成熟的了 毕竟 Linode 和 Digital Ocean 也在用 看邮件组也有很多别的大公司不断的贡献代码 但是想用好要付出巨大的成本就是了 用好难

    真的推荐的话 如果负担得起 直接找成熟的商业存储吧 商业有 bug 可以快速修 Ceph 一个 bug 修好几年都很常见 至少我遇到的问题在最新的 Reef 才算彻底修好

    毕竟数据无价
    Desdemor
        30
    Desdemor  
       297 天前
    我们不是 k8s , 日常业务中用的 Seaweed , 这是项目地址: https://github.com/seaweedfs/seaweedfs
    hezhiming1993
        31
    hezhiming1993  
       278 天前
    @BugCry
    踩坑的告诉你: Longhorn 这个东西很坑.

    情商低的说法是: 这东西就是垃圾
    BugCry
        32
    BugCry  
       278 天前 via Android
    @hezhiming1993 展开说说
    hezhiming1993
        33
    hezhiming1993  
       277 天前
    @BugCry

    都是血泪,
    建议只看 CNCF 里面已经毕业的项目
    ExplodingFKL
        34
    ExplodingFKL  
       261 天前
    单独搞机器使用 cephadm 部署 ceph, 然后再在 rook 下接入,也不怕数据丢失,就是 ceph 运维复杂 ....
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5791 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 01:57 · PVG 09:57 · LAX 17:57 · JFK 20:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.