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

关于 Bitnami 的 Helm Chart 持久化配置的几个疑惑

  •  
  •   lrvinye · 2021-04-09 15:45:52 +08:00 · 1681 次点击
    这是一个创建于 1357 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 Bitnami 的 Values.yaml 里面,持久化的配置一般是下面几项:

    persistence:
      enabled: true
      existingClaim:
      storageClass: "-"
      accessModes:
        - ReadWriteOnce
      size: 8Gi
      annotations: {}
      mountPath: /bitnami/mongodb
      subPath: ""
    
    • 那么对于多副本且需要使用同一个 PVC 的持久化部署,如何做到数据目录不同以隔离?这里提供的mountPath应该也是对所有副本都作用的。我的意思是想知道如何让不同的副本挂载在不同的子目录下

    • 这里的existingClaim只能填一个 PVC 的名称,那么就只能所有副本都绑定一个已存在的 PVC ?

    • 部署的 statefulset 在未指定已存在的 PVC 的情况下,是不是在自动匹配已经存在的 PVC 时,会根据 pvc 的名称与 statefulset 的名称根据某种规则进行匹配?

    4 条回复    2021-04-09 21:17:52 +08:00
    monsterxx03
        1
    monsterxx03  
       2021-04-09 16:11:39 +08:00
    如果你说的是 bitnami 的 mongodb chart 的话, 理解有点问题.

    mountPath 都是每个容器单独的, 每个副本用自己的 mountPath, 为啥要挂载在不同子目录?

    这个 chart 有 standalone 和 replicaset 两种部署模式, existingClaim 只在 standalone 模式下有效, 此时只有一个 mongo 实例.

    replicaset 模式下,多个 statefulset 的实例是用 volumeClaimTemplate 动态 provision pv 的.
    lrvinye
        2
    lrvinye  
    OP
       2021-04-09 20:44:10 +08:00
    @monsterxx03 比如我部署一个 pgsql 的 chart,3 个副本的集群,我想把他们都挂在同一个 PV 下面,那么他们岂不是数据卷会重叠?想知道这是怎么解决的

    主要是看到其它 bitnami 的 chart 也有类似的持久化配置结构,是不是也是这样的?
    liuhan907
        3
    liuhan907  
       2021-04-09 20:56:33 +08:00 via Android
    @lrvinye
    很简单,你不能这样做。
    monsterxx03
        4
    monsterxx03  
       2021-04-09 21:17:52 +08:00 via Android
    @lrvinye 为什么要挂在同一个 pv 下?即使不考虑 k8s,在裸机上部署,三个副本跑在三个机器上肯定也是三块硬盘啊,所以你需要三个 pv,statefulset 就是用 volumeClaimTemplate 动态生成对应的 pv
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5329 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 07:45 · PVG 15:45 · LAX 23:45 · JFK 02:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.