k8s.gcr.io/sig-storage/csi-provisioner 是 Kubernetes 存储特别兴趣小组(sig-storage)维护的核心组件,也是 CSI(容器存储接口)体系中的关键工具,主要用于实现存储卷的动态供应。
在 Kubernetes 中,用户通过 PVC(持久卷声明)声明存储需求,但 PVC 本身只是“请求”,需要对应的 PV(持久卷)才能提供实际存储。csi-provisioner 的核心作用就是“翻译”这种请求:当用户创建 PVC 并指定了包含 provisioner: csi-provisioner 的 StorageClass 时,它会监听 PVC 对象的变化,自动调用后端存储驱动的接口(如 CSI 规范中的 CreateVolume 方法),为 PVC 创建对应的 PV,并完成两者的绑定。简单说,它让用户无需手动创建 PV,只需提交存储需求,就能自动获得可用的存储资源。
它的工作流程可概括为三步:
provisioner 字段指向该组件)的请求。除基础的动态供应外,它还支持多种实用功能:
nodeSelector 或 StorageClass 的 allowedTopologies,可让创建的 PV 优先调度到指定节点(如靠近应用的存储节点),减少跨节点数据传输开销。parameters 字段,用户可传递额外配置(如存储类型、IOPS 限制等),csi-provisioner 会将这些参数转发给存储驱动,实现定制化存储需求。reclaimPolicy(保留、删除或回收),在 PVC 删除时自动处理 PV:若设为“删除”,则会调用驱动的 DeleteVolume 接口清理实际存储资源,避免浪费。csi-provisioner 通常不单独运行,而是作为“边车容器”(sidecar)与 CSI 驱动的控制器组件部署在同一 Pod 中。两者通过 Unix 域套接字通信:csi-provisioner 作为“客户端”发起卷创建请求,CSI 驱动作为“服务端”执行具体的存储操作。这种设计让存储驱动无需关注 Kubernetes 的 PVC/PV 逻辑,只需专注实现底层存储能力,大幅降低驱动开发难度。
它兼容 CSI 1.0 及以上规范,支持 Kubernetes 1.14 及更高版本,几乎适配所有遵循 CSI 标准的存储驱动(如 Ceph RBD、NFS CSI、云厂商存储服务等)。无论是在私有云、公有云还是混合云环境,只要需要通过 Kubernetes 动态管理存储,csi-provisioner 都是不可或缺的工具。
总之,csi-provisioner 是连接用户存储需求与底层存储资源的“桥梁”,通过自动化卷创建与绑定,简化了 Kubernetes 存储管理流程,同时为不同类型的存储驱动提供了统一的接入标准,是构建弹性、可扩展容器存储体系的核心支撑。
请登录使用轩辕镜像享受快速拉取体验,支持国内访问优化,速度提升
docker pull k8s.gcr.io/sig-storage/csi-provisioner:v2.1.1manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务