kubernetes-helm - 如何最好地说明 helm 图表中需要一个值?
问题描述
我现在正在这样做:
value: {{ required "A valid .Values.foo entry required!" .Values.foo }}
但是在我看来,为模板中的所有必需值提供相同的信息是很麻烦的并且会使模板混乱。
有没有更好的方法可以在模板之外定义它 \ 或者在模板本身中定义它的更简洁的方法?
解决方案
您可以通过利用将无法通过所需检查range
的事实来做某事。null
因此,在您的 values.yaml 中,您可以将这一部分用于所需的环境变量:
reqEnv:
- name: "VAR1"
value: null
- name: "VAR2"
value: null
然后在部署的 env 部分中,您将拥有:
{{- range .Values.reqEnv }}
{{ .name }}: {{ required "A value must be entered for all reqEnv entries" .value }}
{{- end }}
然后用户会得到一个错误,除非他们reqEnv
在他们的值文件中设置该部分的所有必需值或作为参数。不幸的是,这样做你失去的是缺少哪个 var 的细节。这可能就是为什么官方 helm 图表似乎更喜欢以 required
您已经使用的方式使用。
推荐阅读
- git - 如何将对分叉子模块所做的更改推送到主分支或 alt 分支?
- tensorflow - 检索 ValueError:在进行逐步训练时必须指定“validation_steps”以执行验证
- c++ - 如何在 Windows 中阻止 http 洪水连接
- css - 仅在一页顶部的页脚
- reactjs - 玩笑测试:如何在 setTimeout 中正确编写期望断言?
- fastcgi - IIS PHP7 FastCgi 间歇性 HTTP 错误 500.0 - 内部服务器错误
- r - splitTools/create_folds 设置随机种子和重复
- postgresql - PostgreSQL 读取不同事务的提交
- angular - 拖动后如何保存渲染的DOM块?
- excel - DataSource.Error OLE DB:数据库已被机器 X 上的用户“管理员”置于一种状态,阻止它被打开或锁定