这很可能真的很简单,但是我两个小时都无法解决。我有以下要通过父图表进行参数化的Consul Ingress:
spec:
rules:
{{- range .Values.uiIngress.hosts }}
- host: {{ . }}
http:
paths:
- backend:
serviceName: {{ $serviceName }}
servicePort: {{ $servicePort }}
{{- end -}}
{{- if .Values.uiIngress.tls }}
tls:
{{ toYaml .Values.uiIngress.tls | indent 4 }}
{{- end -}}
{{- end }}
我想在上面参数化spec.tls
。
在Consul的values.yaml
文件中,我们具有以下模板:
uiIngress:
enabled: false
annotations: {}
hosts: []
tls: {}
最接近它的参数如下:
uiIngress:
tls:
- hosts:
- "some.domain.com"
secretName: "ssl-default"
当我这样做时,我会收到此错误:
warning: cannot overwrite table with non table for tls (map[])
有人可以帮忙吗,我尝试了一百万次。
答案 0 :(得分:1)
检查您的helm
版本。我认为旧版本中存在一些问题。这个很好:
$ helm version
Client: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}
我完全按照您提到的步骤进行操作:
charts/consul
中)在父图表中创建values.yaml
,其中:
consul:
uiIngress:
tls:
- hosts:
- "some.domain.com"
secretName: "ssl-default"
帮助安装父图表