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

创建Kubernetes Deployment遇BadRequest错误,请求排查YAML问题

修复Deployment YAML配置错误

你的YAML存在4个关键问题,直接导致了部署报错,逐一修正如下:

  • 标签格式不符合YAML规范:所有id:holy-api的写法要改成id: holy-api,YAML要求键值对的冒号后必须加空格,否则会被解析成字符串而非键值映射,这就是报错提示「无法将字符串解析为map[string]string类型」的核心原因。
  • 选择器拼写错误:matchLables是拼写错误,正确应为matchLabels,这个错误会导致Deployment无法匹配到它管理的Pod实例。
  • 环境变量缩进错误:容器的env列表下的环境变量条目没有缩进,导致它们被识别成了独立的容器配置,而非当前容器的环境变量。需要把所有name: CACHE_KEY_*相关行缩进一级,放在env:的子层级。
  • 存储卷缩进错误:volumes属于Pod规格(spec)的一部分,当前缩进和template同级,需要调整到Pod的spec内部,和containers同级。

修正后的完整YAML:

kind: Deployment
apiVersion: apps/v1
metadata:
  name: holy-api
  namespace: pluto
spec:
  replicas: 3
  selector:
    matchLabels:
      id: holy-api
  template:
    metadata:
      labels:
        id: holy-api
    spec:
      containers:
      - env:
        - name: CACHE_KEY_1
          value: "b&MTCi0=[T66RXm!jO@"
        - name: CACHE_KEY_2
          value: "PCAILGej5Ld@Q%{Q1=#"
        - name: CACHE_KEY_3
          value: "2qz-]2OJlWDSTn_;RFQ"
        image: nginx:1.17.3-alpine
        name: holy-api-container
        volumeMounts:
        - mountPath: /cache1
          name: cache-volume1
        - mountPath: /cache2
          name: cache-volume2
        - mountPath: /cache3
          name: cache-volume3
      volumes:
      - name: cache-volume1
        emptyDir: {}
      - name: cache-volume2
        emptyDir: {}
      - name: cache-volume3
        emptyDir: {}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 12:30:08