MongoDB StatefulSet扩容后出现FailedMount问题求助
MongoDB StatefulSet扩容后VolumeAttachment未创建的排查方向
CSI驱动异常
- 检查故障节点上的CSI节点插件(如
csi-nodeplugin)Pod状态,是否存在崩溃循环或日志报错。部分CSI驱动在频繁处理挂载/卸载请求时,可能出现连接中断,直接导致VolumeAttachment创建触发失败。 - 同步验证CSI控制器插件的运行状态,若控制器被限流或队列阻塞,VolumeAttachment的处理请求会被延迟甚至卡住。
- 检查故障节点上的CSI节点插件(如
节点存储资源冲突
- 故障节点的存储挂载点可能被占用,或者
/var/lib/kubelet/pods目录下残留旧挂载信息,导致kubelet无法完成新挂载流程,进而不触发VolumeAttachment创建。 - 若使用块存储,检查节点上
iscsiadm、multipath等存储工具状态,工具异常会导致存储设备无法正确关联到节点。
- 故障节点的存储挂载点可能被占用,或者
StatefulSet与PV绑定残留问题
- 之前缩容操作中,旧Pod对应的VolumeAttachment可能未被正确清理,新Pod调度到同一节点时,kube-apiserver会判定PV仍处于绑定状态,拒绝创建新的VolumeAttachment。
- 查看PV的
spec.claimRef字段,确认是否正确指向当前故障Pod的PVC,若指向已删除的旧PVC,挂载流程会直接中断。
kube-controller-manager异常
- kube-controller-manager中负责
volumeattachments的控制器若出现异常(如leader选举失败、进程卡顿),将无法处理PVC挂载请求,导致VolumeAttachment对象无法生成。 - 检查kube-controller-manager日志,排查是否存在VolumeAttachment处理相关的错误或超时信息。
- kube-controller-manager中负责
存储类配置问题
- 若存储类启用
volumeBindingMode: WaitForFirstConsumer,但Pod调度后存储提供者未及时响应绑定请求,会导致VolumeAttachment创建延迟或失败。 - 验证存储类的
allowedTopologies配置,若限制PV仅能绑定特定节点,而故障节点不在允许范围内,也会导致VolumeAttachment无法创建。
- 若存储类启用
临时修复后复发的原因
删除PVC并缩扩容能恢复,是因为强制清理了旧绑定关系,触发了新的PV/PVC绑定流程。但复发说明根本问题未解决:
- 若CSI驱动存在内存泄漏或连接池耗尽,运行一段时间后处理能力会再次下降;
- 节点存储资源未彻底清理,每次Pod重启都会触发相同的挂载冲突;
- kube-controller-manager的稳定性问题未修复,会周期性出现异常。
内容的提问来源于stack exchange,提问作者jirawat paiboon
相关产品推荐
相关产品推荐

