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

运行Skaffold部署项目时ingress-srv.yaml报YAML转JSON错误如何解决

问题根因

报错明确指向ingress-srv.yaml存在YAML语法错误,mapping values are not allowed in this context属于典型的YAML缩进不规范问题,错误位置在你配置的第二个路由路径段:

- path: /?(.*)
              pathType: Prefix # 这里多缩进了2个空格,和同级的path字段不对齐
              backend:
                service:
                  name: front-end-srv
                  port:
                    number: 3000 

path、pathType、backend是paths数组单个元素下的同级属性,必须保持一致的缩进,多出来的缩进导致YAML解析器无法识别层级关系,进而抛出转换JSON失败的错误。

修复方案

调整第二个路径的字段缩进,和第一个路径的格式对齐即可,修复后的完整ingress配置如下:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-srv
  annotations:
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
    - host: northernherpgeckosales.dev
      http:
        paths:
          - path: /api/users/?(.*)
            pathType: Prefix
            backend:
              service:
                name: auth-srv
                port:
                  number: 3000
          - path: /?(.*)
            pathType: Prefix
            backend:
              service:
                name: front-end-srv
                port:
                  number: 3000 

附加提示

日常编写K8s YAML配置时,可以开启IDE的YAML语法校验功能,提前识别缩进、符号缺失这类低级语法错误,避免部署时出现解析失败问题。

内容的提问来源于stack exchange,提问作者Jonathan Lang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 23:39:03