如何避免 Helm 图表中的重复值

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

当您使用 helm 部署某些内容时,您在

values.yml
文件上声明一个变量,并且它们将其值用作
.Value.var_name
。例如,声明我的入口域名:

domain: mydomain.com

然后用作:

kind: Ingress
...
spec:
  rules:
    - host: .Values.domain

现在,想象我添加 grafana 图表作为依赖项。

dependencies:
  - name: grafana
    repository: https://grafana.github.io/helm-charts
    version: 7.0.3

此图表需要

ingress.hosts
输入,因此我在
values.yml
中将其设置为

domain: mydomain.com

grafana:
  ingress:
    hosts:
      - mydomain.com

但是,我输入了两次

mydomain.com
,很容易出错。有什么方法可以引用
values.yml
内的.Values吗?也许有模板?

kubernetes-helm
1个回答
0
投票

可以使用yaml锚点来实现此功能。

values.yaml

domain: &domain mydomain.com

grafana:
  grafana:
    hosts:
      - *domain

模板/cm.yaml

---
apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ include "test.fullname" . }}
data:
  domain: {{ $.Values.domain }}
  grafana: {{ $.Values.grafana.grafana.hosts[0] }}

cmd

helm install test .

输出

apiVersion: v1
data:
  domain: mydomain.com
  grafana: mydomain.com
kind: ConfigMap
metadata:
  labels:
    app.kubernetes.io/managed-by: Helm
  name: test
  namespace: default
© www.soinside.com 2019 - 2024. All rights reserved.