Kubernetes 将YAML转换为JSON时出错:未在管道中找到预期的键-错误

Kubernetes 将YAML转换为JSON时出错:未在管道中找到预期的键-错误,kubernetes,yaml,kubernetes-helm,Kubernetes,Yaml,Kubernetes Helm,我在部署管道中遇到以下错误 Error: YAML parse error on cnhsst/templates/deployment.yaml: error converting YAML to JSON: yaml: line 38: did not find expected key 与此错误对应的yml文件如下: apiVersion: apps/v1 kind: Deployment metadata: name: {{ template "fullname"

我在部署管道中遇到以下错误

Error: YAML parse error on cnhsst/templates/deployment.yaml: error converting YAML to JSON: yaml: line 38: did not find expected key
与此错误对应的yml文件如下:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ template "fullname" . }}
  namespace: {{ .Values.namespace }}
  labels:
    app: {{ template "fullname" . }}
    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
    release: "{{ .Release.Name }}"
    heritage: "{{ .Release.Service }}"
spec:
  replicas: {{ .Values.replicas }}
  selector:
    matchLabels:
      app: {{ template "fullname" . }}
      release: "{{ .Release.Name }}"
  # We dont need a large deployment history limit as Helm keeps it's own
  # history
  revisionHistoryLimit: 2
  template:
    metadata:
      namespace: {{ .Values.namespace }}
      labels:
        app: {{ template "fullname" . }}
        release: "{{ .Release.Name }}"
      annotations:
        recreatePods: {{ randAlphaNum 8 | quote }}
    spec:
      containers:
      - name: {{ template "fullname" . }}
        image: {{ template "docker-image" . }}
        imagePullPolicy: Always
        ports:
        # The port that our container listens for HTTP requests on
        - containerPort: {{ default 8000 .Values.portOverride }}
          name: http
        
      {{- if .Values.resources }}
        resources:
{{ toYaml .Values.resources | indent 10 }}
      {{- end }}
      {{- if and (.Values.livenessProbe) (.Values.apipod)}}
        livenessProbe:
{{ toYaml .Values.livenessProbe | indent 10 }}
      {{- end }}
      {{- if and (.Values.readinessProbe) (.Values.apipod)}}
        readinessProbe:
{{ toYaml .Values.readinessProbe | indent 10 }}
      {{- end }}
      imagePullSecrets:
      - name: regcred
       securityContext:
        runAsNonRoot: true
        runAsUser: 5000
        runAsGroup: 5000 
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - weight: 100
            podAffinityTerm:
              labelSelector:
                matchExpressions:
                - key: app
                  operator: In
                  values:
                  - {{ template "fullname" . }}
              topologyKey: failure-domain.beta.kubernetes.io/zone

我被这个问题困扰了几个小时。我读过很多文章,尝试过在线工具试图找出语法错误,但不幸的是没有运气。如果有人能够指出这个问题,那就太好了。

您可以在
regcred
下看到不匹配的缩进:

imagePullSecrets:
-姓名:regcred

#您可以在
regcred
下看到不匹配的缩进:

imagePullSecrets:
-姓名:regcred

#只是在黑暗中拍摄:只有空行37。这个空行可能是错误的原因吗?我尝试删除这个空行,但在检查它时仍然显示相同的错误,我不是YAML专家。你确定Yamlint.com与kubernetes helm兼容吗?我试着在门楣上粘贴一些来自《赫尔姆博士》的例子:这个门楣几乎总是出错。只是在黑暗中拍摄:只有空行37。这个空行可能是错误的原因吗?我尝试删除这个空行,但在检查它时仍然显示相同的错误,我不是YAML专家。你确定Yamlint.com与kubernetes helm兼容吗?我试着在门楣上粘贴一些来自《赫尔姆文档》的例子:这个门楣几乎总是出错。
$ helm template --debug my-chart . 2>&1| sed -e '1,/^apiVersion:/d' | sed -ne 38p
       securityContext: