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

问题描述 投票:0回答:1

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

文件部署Somintec.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 }}

文件values.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 部署服务,但出现错误

kubernetes kubernetes-helm skaffold
1个回答
0
投票

解决此问题的一种方法是在

image
值周围使用引号,如果我阅读正确的话,该值是有问题的行:

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

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

 | trim

© www.soinside.com 2019 - 2024. All rights reserved.