簡體   English   中英

Ingress.yaml 模板正在拋出 nil 指針評估接口 {}.enabled

[英]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.yamlvalues.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM