云容器引擎 CCE-存储类StorageClass:应用现状
应用现状
CCE中使用存储时,最常见的方法是创建PVC时通过指定StorageClassName定义要创建存储的类型,如下所示,使用PVC申请一个SAS(高I/O)类型云硬盘/块存储。
apiVersion: v1kind: PersistentVolumeClaimmetadata: name: pvc-evs-example namespace: default annotations: everest.io/disk-volume-type: SASspec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: csi-disk
可以看到在CCE中如果需要指定云硬盘的类型,是通过everest.io/disk-volume-type: SAS字段指定,这里SAS是云硬盘的类型,代表高I/O,还有SSD(超高I/O)可以指定。
这种写法在如下几种场景下存在问题:
- 部分用户觉得使用everest.io/disk-volume-type指定云硬盘类型比较繁琐,希望只通过StorageClassName指定。
- 部分用户是从自建Kubernetes或其他Kubernetes服务切换到CCE,已经写了很多应用的YAML文件,这些YAML文件中通过不同StorageClassName指定不同类型存储,迁移到CCE上时,使用存储就需要修改大量YAML文件或Helm Chart包,这非常繁琐且容易出错。
- 部分用户希望能够设置默认的StorageClassName,所有应用都使用默认存储类型,在YAML中不用指定StorageClassName也能按创建默认类型存储。