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: 20GiCSI 插件以 DaemonSet 与 Deployment 形式部署,实现 CreateVolume、NodeStageVolume、NodePublishVolume 等 gRPC 接口,使存储厂商无需修改 Kubernetes 核心代码即可接入。