代码之家  ›  专栏  ›  技术社区  ›  Arun kumar

将YAML转换为JSON:YAML:第17行时出错:在此上下文中不允许映射值

  •  0
  • Arun kumar  · 技术社区  · 3 年前

    出现以下错误 错误:安装失败:/templates/deploymentSointec.YAML上的YAML解析错误:将YAML转换为JSON:YAML时出错:第17行:在此上下文中不允许映射值 我在文件部署中没有看到任何问题Sointec.yaml有人能帮忙解决这个问题吗

    文件部署Sointec.yaml

    {{- if or (eq .Values.type "service") (eq .Values.type "local-dev-with-tests")  }}
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: {{ .Release.Name }}-service-test-runner
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: {{ .Release.Name }}-service-test-runner
      template:
        metadata:
          labels:
            app: {{ .Release.Name }}-service-test-runner
        spec:
          containers:
          - name: {{ .Values.global.service_name}}-service-test
            image: {{ .Values.service.imageservice.name }}:{{ .Values.service.imageservice.tag }}
            ports:
              - containerPort: {{ .Values.service.service_app_port }}
              - containerPort: {{ .Values.service.service_debug_port }}
    {{ end }}
    

    文件值.yaml

    service:
      global:
        service_name: service
      imageservice:
        name: "name" // this value will be override from skaffold file
        tag: "tag"  // this value will be override from skaffold file
      somintec_app_port: 3002
      somintec_debug_port: 9228
    

    我试图在kube环境中使用skaffold和helm部署服务,但遇到错误

    0 回复  |  直到 3 年前
        1
  •  0
  •   Gaël J    3 年前

    解决此问题的一种方法是在 image value,如果我读得正确,这是有问题的行:

    image: `{{ .Values.service.imageservice.name }}:{{ .Values.service.imageservice.tag }}`
    

    你会更好地看到这个问题,例如,它可能是一个额外的空间。在这种情况下,您可以使用 | trim .