![](/img/trans.png)
[英]Helm chart ingress.yaml return error error nil pointer evaluating interface
[英]Ingress.yaml template is throwing nil pointer evaluating interface {}.enabled
當我嘗試執行helm install <chartname>. -f values.yaml -n namespace
helm install <chartname>. -f values.yaml -n namespace
,我得到:
Error: template: pid-dm-rd-guacamole/templates/ingress.yaml:1:8: executing "pid-dm-rd-guacamole/templates/ingress.yaml" at <$.Values.ingress.enabled>: nil pointer evaluating interface {}.enabled
誰能建議我們如何避免這個錯誤,在這里我附上了我的ingress.yaml
和values.yaml
中的 ingress 部分
{{- if .Values.ingress.enabled -}}
{{- $fullName := include "device-management.fullname" . -}}
{{- $svcPort := .Values.service.port -}}
{{- if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
apiVersion: networking.k8s.io/v1beta1
{{- else -}}
apiVersion: extensions/v1beta1
{{- end }}
kind: Ingress
metadata:
name: {{ $fullName }}
labels:
{{- include "device-management.labels" . | nindent 4 }}
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
{{- if .Values.ingress.tls }}
tls:
{{- range .Values.ingress.tls }}
- hosts:
{{- range .hosts }}
- {{ . | quote }}
{{- end }}
secretName: {{ .secretName }}
{{- end }}
{{- end }}
rules:
{{- range .Values.ingress.hosts }}
- host: {{ .host | quote }}
http:
paths:
{{- range .paths }}
- path: {{ . }}
backend:
serviceName: {{ $fullName }}
servicePort: {{ $svcPort }}
{{- end }}
{{- end }}
{{- end }}
ingress:
enabled: true
annotations:
ingress.kubernetes.io/ssl-redirect: "true"
kubernetes.io/tls-acme: "true"
certmanager.k8s.io/cluster-issuer: letsencrypt-prod
paths: []
# - backend:
# serviceName: ssl-redirect
# servicePort: use-annotation
# - backend:
# # Don't use string here, use only integer value!
# servicePort: 443
#nginx.ingress.kubernetes.io/proxy-buffering: "off"
path: /
hosts:
#what is the hostname?
- host: guacamole.****.corp.com
paths:
- path: /
backend:
serviceName: guacamole.****.corp.com
servicePort: 80
tls:
- hosts:
- guacamole.danaher.corp.com
正如@Ramanichandran 在評論部分提到的那樣,問題是通過在入口 yaml 的第一行添加缺失值來解決的。 行應如下所示: .Values.guacamole.ingress.enabled
。 guacamole
的價值錯過了添加。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.