Local Path Provisioner
什么是 Local Path Provisioner
Rancher 开发的轻量级本地存储动态制备器,适合开发/测试环境和单节点集群(如 k3s)。
安装
bash
kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml
# 设为默认 StorageClass
kubectl patch storageclass local-path -p '{"metadata":{"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'使用
yaml
# PVC 使用 local-path
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-path
resources:
requests:
storage: 10Gi配置
yaml
# ConfigMap 配置存储路径
apiVersion: v1
kind: ConfigMap
metadata:
name: local-path-config
namespace: local-path-storage
data:
config.json: |-
{
"nodePathMap": [
{
"node": "DEFAULT_PATH_FOR_NON_LISTED_NODES",
"paths": ["/opt/local-path-provisioner"]
},
{
"node": "node1",
"paths": ["/data/local-path"]
}
]
}注意事项
- 数据存储在节点本地,Pod 必须调度到同一节点
- 不支持跨节点迁移
- 生产环境建议使用 Rook-Ceph 或云厂商存储