首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在helmfile中获取值

如何在helmfile中获取值
EN

Stack Overflow用户
提问于 2021-12-15 11:06:18
回答 1查看 1.9K关注 0票数 0
代码语言:javascript
复制
bases:
  - common.yaml


releases:
  - name: controller
    values:
      - values/controller-values.yaml
    hooks:
    - events: [ "presync" ]
    ....
    - events: [ "postsync" ]
    .....

common.yaml

代码语言:javascript
复制
environments:
  default:
    values:
      - values/common-values.yaml

共值

代码语言:javascript
复制
a:b

当我将钩子的值添加到common.values时,我想将它的值移到文件中,但是我想将它添加到不同的文件中,而不是普通的文件中,所以我尝试添加基。

代码语言:javascript
复制
bases:
  - common.yaml
  - hooks.yaml

releases:
  - name: controller
    values:
      - values/controller-values.yaml
    hooks:
{{ toYaml .Values.hooks | indent 6 }}

hooks.yaml

代码语言:javascript
复制
environments:
  default:
    values:
      - values/hooks-values.yaml

hooks-values.yaml

代码语言:javascript
复制
hooks:
  - events: [ "presync" ]
    ....
  - events: [ "postsync" ]
    .....

但是我得到了一个错误解析: template: stringTemplate:21:21:在<.Values.hooks>:map上执行“<.Values.hooks>”没有键“钩子”的条目

我也试着改变它

代码语言:javascript
复制
hooks:
  - values/hooks-values.yaml

我得到了一个错误行22:无法将!!str values/...解封为event.Hook

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-06 18:54:33

我认为第一个问题是当在common.yamlhooks.yaml下指定bases:时,它们没有正确地合并。由于它们提供了相同的密钥,很可能是后面在bases:中包含的密钥覆盖了另一个密钥。

要解决这个问题,可以在helmfile中使用bases中的单个条目:

代码语言:javascript
复制
bases:
  - common.yaml

然后将您的值文件添加到common.yaml

代码语言:javascript
复制
environments:
  default:
    values:
      - values/common-values.yaml
      - values/hooks-values.yaml

我不认为这是最佳实践,但它应该有效:)

第二个问题是,bases是特殊处理的,即在处理基础分层之前呈现helmfile.yaml,因此当您可以在helmfile中直接引用它们时,您的值(来自bases)是不可用的。如果您直接将environments嵌入到helmfile中,就可以了。但是,如果您想继续使用bases,似乎有几个解决办法,最简单的方法似乎是在bases之后添加---,这在在同一线程上的下一个注释中已经解释过了。

因此,您的helmfile的工作版本可以是:

代码语言:javascript
复制
bases:
  - common.yaml

---

releases:
  - name: controller
    chart: stable/nginx
    version: 1.24.1
    values:
      - values/controller-values.yaml
    hooks:
      {{ toYaml .Values.hooks | nindent 6 }}

PS:chart: stable/nginx是随机选择的,以便能够helmfile build__。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70362614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档