StorageClass为Kubernetes集群提供了描述存储类别(class)的方法,包含provisioner、parameters、volumeBindingMode 和 reclaimPolicy等字段,当 class 需要动态分配持久化存储时会使用到。
京东云为Kubernetes集群提供了CSI插件,将provisioner定义为京东云CSI插件,可以使用京东云云硬盘为Kubernetes集群提供持久化存储。目前,在Kubernetes集群中,默认提供三种storageclass:
kubectl get storageclass NAME PROVISIONER AGE default (default) zbs.csi.jdcloud.com 39d jdcloud-hdd zbs.csi.jdcloud.com 39d jdcloud-ssd zbs.csi.jdcloud.com 39d
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: csi-ssdio parameters: fstype: ext4 type: ssd.io1 provisioner: zbs.csi.jdcloud.com reclaimPolicy: Delete volumeBindingMode: WaitForFirstConsumer
1、provisioner:zbs.csi.jdcloud.com,且不可修改,标识使用京东云云硬盘Provisioner插件创建。
2、type:可以选择以下3种云硬盘类型
StorageClass type | 云硬盘类型 | 容量范围 | 步长 |
---|---|---|---|
hdd.std1 | 容量型hdd | [20-16000]GiB | 10GiB |
ssd.gp1 | 通用型ssd | [20-16000]GiB | 10GiB |
ssd.io1 | 性能型ssd | [20-16000]GiB | 10GiB |
2、reclaimPolicy:由 storage class 动态创建的 Persistent Volume 会在的 reclaimPolicy 字段中指定回收策略,可以是 Delete 或者 Retain。如果 storageClass 对象被创建时没有指定 reclaimPolicy ,它将默认为 Delete。
3、parameters
4、您可在创建持久化存储声明( Persistent Volume Claim)时,通过storageClassName字段关联某一指定的storageclass资源,根据storageClass定义动态创建并绑定一个持久化存储(Persistent Volume)或直接绑定具有相同storageClassName且参数符合要求的持久化存储(Persistent Volume);更多详情参考部署CSI持久化存储 ;
5、更多storageClass参数说明,参考Kubernetes 参数说明文档。