Azure AKS中Ingress YAML解析报错求助:mapping values不允许在此上下文
问题排查:AKS环境中Ingress YAML解析错误
错误现象
在Azure AKS(1.27版本)环境使用Nginx Ingress Controller(1.8.3版本)时,执行命令 kubectl apply -f staging-ingress.yaml -n stage 触发解析错误:
error parsing staging-ingress.yaml: error converting YAML to JSON: yaml: line 5: mapping values are not allowed in this context
核心原因
你的Ingress YAML文件存在严重的缩进格式错误,YAML是严格依赖缩进层级的格式,所有嵌套字段必须保持正确的缩进关系:
metadata下的name、namespace字段未缩进,未与父字段形成层级rules列表项的-host写法错误(短横线后必须加空格,应为- host),且后续的http、paths等字段未正确嵌套缩进
修正后的完整YAML文件
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: staging-ingress namespace: stage spec: rules: - host: qa.test.net http: paths: - path: /staging pathType: Prefix backend: service: name: staging-service port: number: 80
关键修正点
metadata下的子字段需缩进2个空格(或统一的缩进单位),明确归属关系- 列表项的短横线后必须加空格(如
- host),否则会被YAML解析器判定为语法错误 http、paths、backend等嵌套字段需逐层缩进,保持清晰的层级结构
补充验证
从集群命名空间输出结果看,stage 命名空间处于Active状态,排除命名空间不存在的干扰问题,本次报错完全由YAML格式错误导致。
内容的提问来源于stack exchange,提问作者yohan castillo
相关产品推荐
相关产品推荐

