如何在 helm chart 模板中访问当前用户

How do I access the current user in a helm chart template

我有一个 helm chart 模板,我想使用 whoami 的结果作为模板变量。我该怎么做?

所以如果我的 values.yaml 文件有:

env:
  uniqueId: {{ whoami? }}

我该怎么做?

注意:我在 os x 上,所以我认为 whoami 假设一个 linux 环境,但是,本着部署 agnostic 的精神,我认为有一种非 unix 的方式。

Helm Chart 的 "values.yaml" 文件通常用于默认值。您想要覆盖的任何内容都应在图表的 install/upgrade 时完成。

Helm 文档展示了许多不同的值使用方式:https://github.com/kubernetes/helm/blob/master/docs/charts.md

在这种情况下,一种选择是在命令行上设置值:

helm install -set env.whoami=$(id -un) ./your-chart.tgz

然后您可以拥有一个 value.yaml 文件,例如:

env:
    whoami: "default"

最后,您可以在模板中使用它,例如:

  containers:
  - name: {{ .Chart.Name }}
    image: "{{ .Values.image.repository }}:{{ .Chart.Version }}"
    imagePullPolicy: {{ .Values.image.pullPolicy }}
    env:
    - name: WHOAMI
      value: {{ .Values.env.whoami }}

显然您的模板会有所不同,以上只是一个片段。