Проблема с определением Kubernetes Ingress в руле - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь развернуть следующий Ingress с помощью helm:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    io.ctl.cd/ssl: "ui.releasename"
  name: ui
  labels:
    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
  rules:
    {{ if eq .Values.nodeSelector.location "minikube" }}
    - host: ui.{{ .Release.Namespace  }}.minikube.test
    {{ else }}
    - host: ui.{{ .Release.Namespace  }}.devhost
    {{ end }}
      http:
        paths:
        - backend:
            serviceName: api
            servicePort: {{ .Values.api.service.port }}
          path: /

И я получаю следующую ошибку: release x-**** failed: Ingress in version "v1beta1" cannot be handled as a Ingress: only encoded map or array can be decoded into a struct

У меня очень похожий вход,работает нормально, я не хочу, чтобы с этим происходило.

1 Ответ

0 голосов
/ 19 октября 2018

Мне кажется, проблема в этой строке:

chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"

Для теста попробуйте:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    io.ctl.cd/ssl: "ui.releasename"
  name: ui
  labels:
    chart: "{{ .Chart.Name }}"
spec:
  rules:
    {{ if eq .Values.nodeSelector.location "minikube" }}
    - host: ui.{{ .Release.Namespace  }}.minikube.test
    {{ else }}
    - host: ui.{{ .Release.Namespace  }}.devhost
    {{ end }}
      http:
        paths:
        - backend:
            serviceName: api
            servicePort: {{ .Values.api.service.port }}
          path: /
...