在Kubernetes中,存储卷的回收策略(Reclaim Policy)决定了持久卷(PersistentVolume, PV)被释放后的处理方式。三种主要策略如下:
-
Retain(保留):
- 当PV被释放(如关联的PVC被删除)时,PV不会被自动删除,数据完整保留。
- 适用场景:需要手动清理或保留关键数据(如生产数据库)。
- 配置方法:在PV定义中设置
persistentVolumeReclaimPolicy: Retain
。
-
Delete(删除):
- 自动删除PV及底层存储资源(如云盘、EBS卷)。
- 适用场景:临时或测试环境,需避免资源泄漏。
- 配置方法:在PV或StorageClass中设置
persistentVolumeReclaimPolicy: Delete
(需存储后端支持)。
-
Recycle(回收,已废弃):
- 通过删除PV目录下的文件“重置”卷(不安全且不支持多数云存储)。
- 替代方案:使用动态存储供应(Dynamic Provisioning)结合
Delete
或Retain
策略。
最佳实践:
- 优先通过StorageClass定义回收策略(如
storageClassName: standard
中设置reclaimPolicy: Retain
)。 - 静态PV需显式指定策略,动态PV由StorageClass继承策略。
- 对关键数据避免使用
Delete
,防止误删;云环境确保存储插件支持目标策略。