咨询:Kubernetes删除StorageClass后PV仍保留其信息的原因
删除StorageClass后PV仍保留其信息的原因
PV与StorageClass的关联是一次性写入的静态记录:PV创建时,若指定了StorageClass,其
spec.storageClassName字段会被持久化存储。删除StorageClass只是移除集群中的SC资源对象,并不会主动修改已有PV的字段内容,因此PV里的旧SC信息会一直保留,除非手动编辑PV更新该字段。Pod重建无异常的核心原因:
- 若Pod关联的PVC已处于Bound绑定状态,PVC与PV的绑定关系是持久化的,Pod重建时直接复用已绑定的PV,无需再与StorageClass交互。只要PV本身状态正常(Available/Bound),就能正常挂载供Pod使用。
- 只有当需要动态创建新PV时(比如PVC未绑定且请求动态供应),Kubernetes才会依赖StorageClass。而你这里的PV已经存在,重建Pod不需要触发新PV的创建流程,所以不受SC删除的影响。
额外说明:Kubernetes对已绑定的PV/PVC,不会校验关联的StorageClass是否存在。只有在执行动态PV创建、或者修改PVC的
storageClassName字段时,才会检查SC资源的存在性,因此PV保留旧SC信息不会影响现有业务的运行。
内容的提问来源于stack exchange,提问作者JoongHo Lee
相关产品推荐
相关产品推荐

