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

无法将Mongo容器部署至测试集群:容器状态停滞在ContainerCreating

问题分析与修复

你的Mongo Pod卡在ContainerCreating状态,核心问题出在ConfigMap的挂载配置上,有两处明显错误:

  • ConfigMap名称不匹配:你创建的ConfigMap叫example-configmap,但Pod配置里引用的是mongo-configmap,Kubernetes找不到对应的ConfigMap,导致卷挂载失败,Pod无法完成创建。
  • 挂载的Key不存在:Pod的volumes.items里指定的key是mongo-configmap,但你定义的ConfigMap的data字段里只有database和database_uri这两个键,根本没有mongo-configmap这个key,这也会触发挂载失败。

修复方案

步骤1:修正Pod的ConfigMap引用名称

把Pod配置里volumes.configMap.name的值改成example-configmap,和你已创建的ConfigMap名称保持一致。

步骤2:调整挂载的Key配置

根据你的需求选择两种挂载方式之一:

方式一:挂载ConfigMap的所有键值对

如果想把ConfigMap里的所有配置都挂载到/example目录下,直接删掉items字段即可,Kubernetes会自动把每个key作为单独文件挂载:

apiVersion: v1
kind: Pod
metadata:
  name: mongo
spec:
  containers:
    - name: mongo
      image: mongo
      volumeMounts:
        - mountPath: /example
          name: config
  volumes:
  - name: config
    configMap:
      name: example-configmap

方式二:指定挂载特定Key到文件

如果只想挂载部分配置到指定文件,调整items里的key为ConfigMap实际存在的键,比如:

apiVersion: v1
kind: Pod
metadata:
  name: mongo
spec:
  containers:
    - name: mongo
      image: mongo
      volumeMounts:
        - mountPath: /example
          name: config
  volumes:
  - name: config
    configMap:
      name: example-configmap
      items:
        - key: database
          path: db.config
        - key: database_uri
          path: uri.config

验证操作

  1. 删除原有卡住的Pod:
kubectl delete pod mongo
  1. 应用修正后的Pod配置:
kubectl apply -f <你的Pod配置文件名>.yaml
  1. 查看Pod状态:
kubectl get pod mongo

如果还有问题,执行kubectl describe pod mongo查看事件详情,里面会明确提示挂载相关的错误信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 08:33:13