在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方案