繁体   English   中英

ConfigMap 文件中的 Helm 变量

[英]Helm Variables inside ConfigMap File

所以我有一个带有 json 配置文件的 ConfigMap,如下所示:

apiVersion: v1
kind: ConfigMap
metadata:
  name: my-config-map
data:
  config.json: |+
  {
    "some-url": "{{ .Values.myApp.someUrl }}"
  }

但是我已经将我的配置文件移到了 ConfigMap 的 yaml 之外,并在那里引用它们,如下所示:

apiVersion: v1
kind: ConfigMap
metadata:
  name: my-config-map
data:
  config.json: |-
{{ .Files.Get .Values.myApp.configFile | indent 4 }}

但现在我希望我的 json 看起来像下面

{
  "some-url": "{{ .Values.myApp.someUrl }}"
}

我唯一尝试的是我刚刚展示的内容。 我什至不确定如何寻找这个答案。

甚至可能吗?

在读取文件的时候,它的内容是一个字符串。 它不被评估为模板,因此你不能像你一样使用变量。

但是,为此目的,helm 有一个 function 专门称为tpl

apiVersion: v1
kind: ConfigMap
metadata:
  name: my-config-map
data:
  config.json: |- 
{{ tpl (.Files.Get .Values.myApp.configFile) $ | indent 4 }}

tpl function 接受一个模板字符串并用一些上下文呈现它。 当您的值文件中有模板片段或在某些文件内容中有类似的情况时,这很有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM