Vault 注释的 Helm 模板

问题描述 投票:0回答:1

我正在尝试将一个模板嵌套到另一个模板中,即我有一个 k8s deployment.yaml,它应该由 helm 模板化。但是,它已经在注释字段中使用 Vault 模板,负责将秘密注入 pod。

没有 Helm 模板它看起来像这样:

vault.hashicorp.com/agent-inject-template-.env: |
  {{- with secret (print "envs/data/test") -}}{{- range $k, $v := .Data.data -}}
  {{ $k }}={{ $v }}
  {{ end }}{{- end -}}

现在,我想为 Helm 制作一个模板,并将路径

envs/data/test
替换为来自 Helm 值的值。所以我试过这样使用它:

vault.hashicorp.com/agent-inject-template-.env: |
  {{- with secret (print {{ .Values.path }}) -}}{{- range $k, $v := .Data.data -}}
  {{ $k }}={{ $v }}
  {{ end }}{{- end -}}

但是这不起作用意味着

{{ .Values.path }}
按原样输出,作为字符串。 我如何在另一个模板上进行模板并将
{{ .Values.path }}
解析为变量?

go kubernetes-helm go-templates
1个回答
0
投票

兄弟,这意味着你将模板放在模板上,helm 和 vault 使用相同的语义,它将取代你的 vault 模板。

所以。您需要其他方法,例如将保险库模板手动放入保险库的 configmap 中或使用来自 banzaivswh 它将帮助您通过改变您的应用程序自动注入 pod,并且您需要在部署/模板部署文件中输入您的秘密作为 ENV。

© www.soinside.com 2019 - 2024. All rights reserved.