相关疑难解决方法(0)

在 Helm 中将 YAML 转换为字符串

我有一个 helm 图表,用于部署具有 YAML 格式配置文件的应用程序。目前,我的舵图使用以下代码:

值.yaml

databaseUser: "dbuser"

configFiles:
  db_config_file.yaml: |-
    databaseUser: {{ .Values.databaseUser }}
    databasePort: 1234
    [...]

[...]
Run Code Online (Sandbox Code Playgroud)

模板/configmap.yaml

data:
  {{- range $name, $config := .Values.configFiles }}
  {{ $name }}: |-
{{ tpl $config $ | indent 4 }}
  {{- end }}
Run Code Online (Sandbox Code Playgroud)

这段代码允许我轻松更改databaseUserfrom 值,但问题是如果我想更改 的值databasePort,我必须像这样重写整个配置:

configFiles:
  db_config_file.yaml: |-
    databaseUser: {{ .Values.databaseUser }}
    databasePort: 9876
Run Code Online (Sandbox Code Playgroud)

这很不方便。它的工作原理是这样的,因为db_config_file.yaml内容被解释为字符串,因为我将其提供给tpl仅接受字符串的函数。

所以我的问题是,有没有办法将 YAML 转换为 Helm 模板中的字符串并获得以下内容:

databaseUser: "dbuser"

configFiles:
  db_config_file.yaml: # Content is not a string block …
Run Code Online (Sandbox Code Playgroud)

yaml go-templates kubernetes-helm

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

go-templates ×1

kubernetes-helm ×1

yaml ×1