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

Kubernetes部署MongoDB重启数据丢失,如何正确配置持久化存储

配置错误及修复方案

  • 挂载路径不匹配
    官方MongoDB镜像的默认数据持久化目录为/data/db,你当前StatefulSet配置的volumeMounts.mountPath为/var/lib/mongodb,写入的所有数据实际存储在容器的可写层,未写入持久卷,Pod重启后容器可写层被回收,自然出现数据丢失。
    修正方式:将StatefulSet的volumeMounts配置修改为:
volumeMounts: 
  - 
    name: "mongodb-persistent-storage"
    mountPath: "/data/db"
  • StorageClass配置不匹配
    你创建的PVC指定storageClassName: gp2,但手动创建的PV的storageClassName为local-storage,两者存储类名称不一致,PVC无法绑定到你手动创建的PV,若集群配置了默认存储类,PVC会自动绑定其他符合条件的PV,若未配置默认存储类则PVC会一直处于Pending状态,持久化存储实际未生效。
    修正方式:将PVC的storageClassName修改为与PV一致的local-storage:
spec: 
  accessModes: 
    - ReadWriteOnce
  resources: 
    requests: 
      storage: 5Gi
  storageClassName: local-storage
  • 无效冗余配置
    PersistentVolume属于Kubernetes集群级资源,不存在命名空间属性,你在pv.yaml的metadata中添加的namespace: "development"属于无效配置,虽然不会直接导致数据丢失,但属于错误冗余配置,可以直接删除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 03:27:04