You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Skaffold+Helm部署K8s服务时YAML解析错误求助

问题排查与修复:Helm部署YAML解析错误

针对你遇到的YAML parse error,核心问题集中在YAML语法规范和变量引用不匹配两个方面,具体排查和修复如下:

问题点分析

  1. YAML注释格式非法
    YAML规范仅支持#作为注释符号,你的values.yaml中使用了//注释,这会直接导致YAML解析失败。

  2. 变量引用路径错误

    • deploymentSomintec.yaml中name字段引用的{{ .Values.global.service_name}},实际在values.yaml里的路径是.Values.service.global.service_name,缺失了service层级。
    • 部署文件中引用的{{ .Values.service.service_app_port }}、{{ .Values.service.service_debug_port }},与values.yaml里的实际变量名somintec_app_port、somintec_debug_port不匹配。

修正后的文件

修正后的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

修正后的deploymentSomintec.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.service.global.service_name}}-service-test
        image: {{ .Values.service.imageservice.name }}:{{ .Values.service.imageservice.tag }}
        ports:
          - containerPort: {{ .Values.service.somintec_app_port }}
          - containerPort: {{ .Values.service.somintec_debug_port }}
{{ end }}

验证方法

修复后可以先执行helm template .命令渲染模板,检查输出的YAML是否合法,确认无语法错误后再进行部署。

内容的提问来源于stack exchange,提问作者Arun kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 12:35:03