如何在舵图中使用值文件传递文件?

时间:2020-02-26 05:46:48

标签: kubernetes yaml kubernetes-helm

我想将证书传递给头盔图,当前我正在使用--set-file global.dbValues.dbcacertificate =。/ server.crt传递,但我想通过头盔图的值文件传递文件。 Values.yaml文件读取

global:
  dbValues:
    dbcacertificate: <Some Way to pass the .crt file>

1 个答案:

答案 0 :(得分:4)

根据the relevant documentation,必须将图表外部的文件预处理为一种可以通过--set--values提供的方式,因为.Files.Get无法读取图表捆绑包外部的文件路径。

因此,给出以下示例模板templates/secret.yaml,其中包含:

apiVersion: v1
kind: Secret
data:
  dbcacertificate: {{ .Values.dbcacertificate | b64enc }}

可以将外壳插值用作:

helm template --set dbcacertificate="$(cat ./server.crt)" .

或者,如果外壳插值不适合您的情况,则可以将证书预处理为yaml兼容格式,然后通过--values进行输入:

$ { echo "dbcacertificate: |"; sed -e 's/^/    /' server.crt; } > ca-cert.yaml
$ helm template --values ./ca-cert.yaml .