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

Kubernetes Deployment创建报错:未知字段spec.template.metadata.spec求助

解决Kubernetes Deployment创建时的strict decoding error问题

你的报错Error from server (BadRequest): error when creating "deployment-definition.yml": Deployment in version "v1" cannot be handled as a Deployment: strict decoding error: unknown field "spec.template.metadata.spec",核心原因是Pod模板的spec字段位置错误——你把spec嵌套在了template.metadata下面,而正确的结构里,spec应该是template的直接子节点,和metadata同级。

修正后的完整配置文件如下:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp-deployment
  labels:
    app: myapp
    type: front-end

spec:
  template:
    metadata:
      name: myapp-pod
      labels:
        app: myapp
        type: front-end
    # 把spec从metadata下移出,和metadata同级
    spec:
      containers:
      - name: nginx-container
        image: nginx
    
  replicas: 3
  selector:
    matchLabels:
      type: front-end

关键修正点:

  • 将原来在template.metadata下的spec块,调整到template节点下,与metadata处于同一层级
  • 确保所有字段的缩进符合YAML语法要求(Kubernetes对YAML的层级结构要求严格)

调整后重新执行创建命令即可:

kubectl apply -f deployment-definition.yml

内容的提问来源于stack exchange,提问作者Aswin Shaji

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 03:42:34