gpt4 book ai didi

kubernetes-helm - helm - 以编程方式覆盖子图表 values.yaml

转载 作者:行者123 更新时间:2023-12-03 15:50:52 26 4
gpt4 key购买 nike

我正在编写一个使用 stable/redis 的 Helm chart 图表作为子图表。

我需要覆盖用于我的图表和 redis 图表中的微服务的存储类名称。

我正在使用 Helm 2.12.3

我希望能够根据模板指定 redis.master.persistence.storageClass ,就像这样

storage:
storageClasses:
name: azurefile

redis:
usePassword: false
master:
persistence:
storageClass: {{ $.Values.storage.storageClasses.name }}

除了,据我了解,values.yaml 中不支持模板

由于这是一个公共(public)图表,我无法将其修改为依赖于 the documentation 中所述的全局值。

我考虑使用 {{ $.Values.redis.master.persistence.storageClass }}我图表中的其他位置,而不是 {{ $.Values.storage.storageClasses.name }} ,但这会:
  • 不隐藏我图表的依赖关系的复杂性
  • 如果我要添加另一个子图表依赖项
  • ,则无法缩放

    在我的 values.yaml 文件中,我有:
    storage:
    storageClasses:
    name: azurefile

    redis:
    master:
    persistence:
    storageClass: azurefile


    我想在 values.yaml 中指定一个可以在图表部署时覆盖的值。

    例如像这样
    helm install --set storage.storageClasses.name=foo mychart

    而不是
    helm install --set storage.storageClasses.name=foo --set redis.master.persistence.storageClass mychart

    最佳答案

    正如您正确提到的,helm 值文件是纯 yaml 文件,不能包含任何模板。对于您的用例,您还需要为您的值文件使用模板系统,这基本上意味着您也在旅途中生成您的值文件。我建议看看 helmfile .这使您可以跨多个图表和应用程序环境共享值文件。

    关于kubernetes-helm - helm - 以编程方式覆盖子图表 values.yaml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55425688/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com