本文为您介绍集群默认提供的StorageClass存储类型和适用场景,以及如何配置Default StorageClass存储类型。
StorageClass
容器服务Kubernetes版(ACK)集群默认提供了以下几种StorageClass:
- alicloud-disk-efficiency:高效云盘。
- alicloud-disk-ssd:SSD云盘。
- alicloud-disk-essd:ESSD云盘。
- alicloud-disk-available:提供高可用选项,优先创建SSD云盘;如果SSD云盘售尽,则创建高效云盘。
注意 对于alicloud-csi-provisioner v1.14.8.39-0d749258-aliyun之前的版本,优先创建ESSD云盘;如果ESSD云盘售尽,则创建SSD云盘;如果SSD云盘售尽,则创建高效云盘。
- alicloud-disk-topology: 使用延迟绑定的方式创建云盘。
以上5种StorageClass中,前4种可以在单可用区使用,最后一种更适合在多可用区使用。
通过StorageClass创建云盘,可用区选择规则如下:
- StorageClass配置volumeBindingMode: WaitForFirstConsumer,则取PVC的Pod所在可用区为创建云盘的可用区。
- StorageClass配置volumeBindingMode: Immediate,且配置zoneId参数(一个可用区),则选择此可用区为创建云盘的可用区。
- StorageClass配置volumeBindingMode: Immediate,且配置zoneId参数(多个可用区),则每次选择轮询配置的多个可用区中的一个作为创建云盘的可用区。
- StorageClass配置volumeBindingMode: Immediate,且没有配置zoneId参数,则选择csi-provisioner所在的可用区作为创建云盘的可用区。
综上,如果您是多可用区集群,推荐您使用WaitForFirstConsumer模式的StorageClass。您可以根据需要的云盘类型自行创建StorageClass。
Default StorageClass
Kubernetes提供Default StorageClass机制,您在PVC不指定StorageClass的情况下,可以通过Default StorageClass创建数据卷,请参见Default StorageClass。
说明
- 由于Default StorageClass会对所有PVC起作用,对于具备不同类型存储卷能力的集群,需要小心使用。例如,您想生成一个NAS类型PVC、PV,并绑定PVC和PV,但可能因为有Default StorageClass而自动创建了云盘PV。基于上述原因,ACK集群没有提供Default StorageClass,如果您期望使用Default StorageClass,可以参考以下配置。
- 一个集群中最多配置一个Default StorageClass,否则默认能力将不起作用。
后续步骤
kubectl patch storageclass alicloud-disk-ssd -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'
在文档使用中是否遇到以下问题
更多建议
匿名提交