Skip to content

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 或云厂商存储

本站内容由 褚成志 整理编写,仅供学习参考