欢迎访问 内存溢出 —— 独立后端与系统工程技术博客

专注于分布式系统、Linux内核、数据库存储与后端工程实践

Kubernetes 存储:PV、PVC 与 CSI 插件原理

发表于:|最后更新:|分类:云原生与微服务|阅读:7700 次
本文标签:Kubernetes存储CSI

Kubernetes 通过 PV/PVC 抽象屏蔽底层存储差异,CSI(Container Storage Interface)定义了存储插件与 kubelet 之间的标准接口。

一、核心对象关系

  • PV(PersistentVolume):集群级存储资源,由管理员或动态供给创建
  • PVC(PersistentVolumeClaim):用户对存储的请求,声明容量与访问模式
  • StorageClass:定义动态供给的存储类型与参数

二、动态供给示例

yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: data
spec:
  accessModes: ["ReadWriteOnce"]
  storageClassName: fast-ssd
  resources:
    requests:
      storage: 20Gi

CSI 插件以 DaemonSet 与 Deployment 形式部署,实现 CreateVolume、NodeStageVolume、NodePublishVolume 等 gRPC 接口,使存储厂商无需修改 Kubernetes 核心代码即可接入。