来自 values.yaml 的 Helm yaml 密钥
Helm yaml keys from values.yaml
我想动态创建一个 yaml KEY(不是值)。
在我的values.yaml
failoverip1: 0.0.0.0` (<- this is only a demo IP)
在我的 templates/configmap.yaml
我有这个:
apiVersion: v1
kind: ConfigMap
metadata:
name: vip-configmap
data:
{{- .Values.failoverip1 -}}: {{ .Release.Namespace -}}/{{- .Values.target -}}
^^^^^^^^^^^^^^^^^^^^^----> here should be an IP address from values.yaml
{{ .Release.Namespace -}}/{{- .Values.target -}}
渲染成功。
但是如果我在关键部分添加{{- .Values.failoverip1 -}}
,它什么也不会呈现。
(没有任何意义,整个 data:
块不会被渲染。
这是我运行helm install --name hetzner-failover .
时的错误信息
Error: YAML parse error on hetzner-failover/templates/configmap-ip.yaml: error converting YAML to JSON: yaml: line 4: mapping values are not allowed in this context
不允许做一个
- 按键动态?
- 如果没有,怎么绕过去?
这是我所说的回购协议:
https://github.com/exocode/helm-charts/blob/master/hetzner-failover/templates/configmap-ip.yaml
错误似乎是前导 -
被截断了。
所以正确的方法是去掉那个减号:
之前:
{{- .Values.failoverip1 | indent 2 -}}
之后:
{{ .Values.failoverip1 | indent 2 -}}
yaml 现在是:
apiVersion: v1
kind: ConfigMap
metadata:
name: vip-configmap
data:
{{ .Values.failoverip1 | indent 2 -}}: {{ .Release.Namespace -}}/{{- .Values.target -}} # add your config map here. must map the base64 encoded IP in secrets.yaml
渲染结果为:
kubectl get configmap -o yaml
apiVersion: v1
items:
- apiVersion: v1
data:
0.0.0.0: default/nginx# add your config map here. must map the base64 encoded
IP in secrets.yaml
kind: ConfigMap
我想动态创建一个 yaml KEY(不是值)。
在我的values.yaml
failoverip1: 0.0.0.0` (<- this is only a demo IP)
在我的 templates/configmap.yaml
我有这个:
apiVersion: v1
kind: ConfigMap
metadata:
name: vip-configmap
data:
{{- .Values.failoverip1 -}}: {{ .Release.Namespace -}}/{{- .Values.target -}}
^^^^^^^^^^^^^^^^^^^^^----> here should be an IP address from values.yaml
{{ .Release.Namespace -}}/{{- .Values.target -}}
渲染成功。
但是如果我在关键部分添加{{- .Values.failoverip1 -}}
,它什么也不会呈现。
(没有任何意义,整个 data:
块不会被渲染。
这是我运行helm install --name hetzner-failover .
Error: YAML parse error on hetzner-failover/templates/configmap-ip.yaml: error converting YAML to JSON: yaml: line 4: mapping values are not allowed in this context
不允许做一个
- 按键动态?
- 如果没有,怎么绕过去?
这是我所说的回购协议:
https://github.com/exocode/helm-charts/blob/master/hetzner-failover/templates/configmap-ip.yaml
错误似乎是前导 -
被截断了。
所以正确的方法是去掉那个减号:
之前:
{{- .Values.failoverip1 | indent 2 -}}
之后:
{{ .Values.failoverip1 | indent 2 -}}
yaml 现在是:
apiVersion: v1
kind: ConfigMap
metadata:
name: vip-configmap
data:
{{ .Values.failoverip1 | indent 2 -}}: {{ .Release.Namespace -}}/{{- .Values.target -}} # add your config map here. must map the base64 encoded IP in secrets.yaml
渲染结果为:
kubectl get configmap -o yaml
apiVersion: v1
items:
- apiVersion: v1
data:
0.0.0.0: default/nginx# add your config map here. must map the base64 encoded
IP in secrets.yaml
kind: ConfigMap