
dyrnq/local-volume-provisionerk8s.gcr.io/sig-storage/local-volume-provisioner 与 registry.k8s.io/sig-storage/local-volume-provisioner 是 Kubernetes SIG Storage 提供的官方本地卷供应器镜像,用于在 Kubernetes 集群中动态创建和管理本地存储卷。该镜像实现了本地存储的动态供应能力,解决了静态本地卷(Static Local Volume)管理复杂、需要手动创建 PV 的问题,简化了本地存储在 Kubernetes 集群中的配置和使用流程。
/dev/sdb)作为存储后端,自动格式化并挂载磁盘。Delete 或 Retain)。通常通过 Kubernetes DaemonSet 在集群节点上部署,确保每个节点(或指定节点)运行 provisioner 实例。以下是部署的关键步骤:
在节点上创建基础存储目录(如 /mnt/local-storage),或确保有未格式化的磁盘可供发现。
配置存储后端信息(以目录型存储为例):
yamlapiVersion: v1 kind: ConfigMap metadata: name: local-volume-provisioner-config namespace: kube-system data: storageClassMap: | local-storage: # StorageClass 名称 hostDir: /mnt/local-storage # 节点上的基础目录 mountDir: /mnt/local-storage # 挂载目录(通常与 hostDir 相同) volumeMode: Filesystem # 卷模式(Filesystem 或 Block) fsType: ext4 # 文件系统类型
yamlapiVersion: apps/v1 kind: DaemonSet metadata: name: local-volume-provisioner namespace: kube-system spec: selector: matchLabels: app: local-volume-provisioner template: metadata: labels: app: local-volume-provisioner spec: serviceAccountName: local-storage-admin containers: - name: local-volume-provisioner image: registry.k8s.io/sig-storage/local-volume-provisioner:v2.5.0 # 使用最新稳定版 imagePullPolicy: Always volumeMounts: - mountPath: /etc/provisioner/config name: provisioner-config - mountPath: /mnt/local-storage # 挂载节点存储目录 name: local-storage env: - name: NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName volumes: - name: provisioner-config configMap: name: local-volume-provisioner-config - name: local-storage hostPath: path: /mnt/local-storage # 对应节点上的存储目录
yamlapiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: local-storage provisioner: kubernetes.io/local-volume # provisioner 标识 volumeBindingMode: WaitForFirstConsumer # 延迟绑定,直到 Pod 调度后再绑定 PV reclaimPolicy: Delete # 卷回收策略(Delete 或 Retain)
yamlapiVersion: v1 kind: PersistentVolumeClaim metadata: name: local-pvc spec: accessModes: - ReadWriteOnce storageClassName: local-storage # 关联上述 StorageClass resources: requests: storage: 10Gi
| 参数 | 说明 | 示例值 |
|---|---|---|
storageClassMap | StorageClass 与存储后端的映射配置 | local-storage: {...} |
hostDir | 节点上的基础存储目录 | /mnt/local-storage |
mountDir | provisioner 挂载的目录 | /mnt/local-storage |
volumeMode | 卷模式(Filesystem 或 Block) | Filesystem |
fsType | 文件系统类型(如 ext4、xfs) | ext4 |
blockCleanerCommand | 清理块设备的命令(仅 Block 模式) | ["dd", "if=/dev/zero", "of=%v", "bs=1M", "count=100", "conv=fsync"] |
| 环境变量 | 说明 | 示例值 |
|---|---|---|
NODE_NAME | 当前节点名称(通过 fieldRef 获取) | node-1 |
PROVISIONER_NAME | provisioner 名称(需与 StorageClass 匹配) | kubernetes.io/local-volume |
reclaimPolicy: Delete 会清理存储后端数据,Retain 则保留数据需手动清理。k8s.gcr.io/sig-storage/local-volume-provisionerregistry.k8s.io/sig-storage/local-volume-provisioner建议使用指定版本标签(如 v2.5.0)而非 latest,确保部署稳定性。






manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务