在Kubernetes中使用LocalPersistentVolume(LocalPV)管理本地存储需遵循以下步骤:
-
节点存储准备
在目标节点创建固定目录(如/mnt/ssd)并确保其持久性,避免因节点重启导致数据丢失。 -
定义StorageClass(可选)
创建storageclass.yaml,设置volumeBindingMode: WaitForFirstConsumer以延迟绑定,确保Pod调度到正确节点。 -
创建PersistentVolume
通过persistentvolume.yaml声明本地卷,指定local.path路径及nodeAffinity绑定目标节点,设置persistentVolumeReclaimPolicy: Retain防止误删数据。 -
创建PersistentVolumeClaim
通过persistentvolumeclaim.yaml申请存储资源,StorageClass需与PV匹配。 -
Pod挂载使用
在Pod配置中通过volumeClaimTemplates或显式声明PVC名称挂载本地存储。
注意事项:
- LocalPV不具备高可用性,需自行处理节点故障时的数据迁移
- 删除PVC后需手动清理节点数据
- 推荐搭配
NodeSelector/Affinity确保Pod调度到正确节点 - 适用于StatefulSet等需强数据局部性的场景,替代hostPath方案