云容器引擎 CCE-存储卷声明PVC:使用存储类创建PVC

时间:2023-11-01 16:25:55

使用存储类创建PVC

  • 使用存储类创建的底层云硬盘、文件存储和对象存储均为按需计费模式。
  • 当前SFS文件存储处于售罄状态,暂时无法使用存储类csi-nas自动创建。

存储类(StorageClass)描述了集群中的存储类型“分类”,在创建PVC需要可以指定StorageClass,动态创建PV及底层存储资源。

使用控制台创建

  1. 登录CCE控制台。
  2. 进入集群,在左侧选择“容器存储”,在右侧选择“存储卷声明”页签。
  3. 单击右上角“创建存储声明”,在弹出的窗口中填写存储卷“声明”参数。

    • 创建方式:选择“使用存储类”
    • PVC名称:指定PVC的名称。
    • 存储类:选择需要的存储类型。当前支持如下几类存储动态创建。
      • csi-disk:云硬盘。
      • csi-local-topology:本地持久卷。
      • csi-obs:对象存储。
    • 可用区(仅云硬盘支持):选择云硬盘所在可用区。
    • 云硬盘类型:选择云硬盘的类型。云硬盘类型在不同区域会有所不同。
      • 高I/O
      • 超高I/O
      • 通用型SSD
      • 极速型SSD

      具体请参见这里了解如何选择磁盘类型。

    • 访问模式:ReadWriteOnce和ReadWriteMany,具体请参见存储卷访问模式
    • 存储池(仅本地持久卷支持):显示支持本地持久卷的节点,具体请参见本地持久存储卷和临时存储卷
    • 容量(仅云硬盘和文件存储支持):存储的容量大小。仅云硬盘和文件存储需要配置,对象存储无需配置。
    • 加密(仅云硬盘和文件存储支持):勾选底层存储是否加密,勾选后需要选择使用的加密密钥。仅云硬盘和文件存储支持加密。
    • 密钥(仅对象存储支持):对象存储需要选择访问密钥,具体使用请参见对象存储卷挂载设置自定义访问密钥(AK/SK)
    • 企业项目(仅云硬盘和对象存储支持):集群所属的企业项目或default企业项目。

  4. 单击“创建”

使用YAML创建

云硬盘YAML示例。

  • failure-domain.beta.kubernetes.io/region:集群所在的region。

    Region对应的值请参见地区和终端节点

  • failure-domain.beta.kubernetes.io/zone:创建云硬盘所在的可用区,必须和工作负载规划的可用区保持一致。

    zone对应的值请参见地区和终端节点

  • everest.io/enterprise-project-id:企业项目ID。仅支持集群所属企业项目和default企业项目,"0"表示default企业项目。

    获取方法:在CCE控制台,单击左侧栏目树中的“集群管理”,选择集群,并进入指定的集群详情页,在“基本信息”页签下找到企业项目,单击并进入对应的企业项目控制台,复制对应的ID值即可获取集群所属的企业项目的ID。

apiVersion: v1kind: PersistentVolumeClaimmetadata:  name: pvc-evs-auto-example  namespace: default  annotations:    everest.io/disk-volume-type: SSD    # 云硬盘的类型    everest.io/crypt-key-id: 0992dbda-6340-470e-a74e-4f0db288ed82  # 可选字段,密钥的id,使用该密钥加密云硬盘    everest.io/enterprise-project-id: 86bfc701-9d9e-4871-a318-6385aa368183  # 可选字段,企业项目id,Everest需升级到1.2.33及以上版本,仅支持集群所属企业项目和default企业项目,"0"表示default企业项目。  labels:    failure-domain.beta.kubernetes.io/region: cn-north-4    failure-domain.beta.kubernetes.io/zone: cn-north-4bspec:  accessModes:  - ReadWriteOnce               # 云硬盘必须为ReadWriteOnce  resources:    requests:      storage: 10Gi             # 云硬盘大小,取值范围 1-32768  storageClassName: csi-disk    # StorageClass类型为云硬盘

本地持久卷YAML示例,本地持久卷使用要求在节点上导入了本地持久卷,具体请参见本地持久存储卷和临时存储卷

apiVersion: v1kind: PersistentVolumeClaimmetadata:  name: pvc-local-example  namespace: defaultspec:  accessModes:  - ReadWriteOnce               # 必须为ReadWriteOnce  resources:    requests:      storage: 10Gi             # 本地持久存储卷大小  storageClassName: csi-local-topology    # StorageClass类型为csi-local-topology

对象存储YAML示例:

apiVersion: v1kind: PersistentVolumeClaimmetadata:  name: obs-warm-provision-pvc  namespace: default  annotations:    everest.io/obs-volume-type: STANDARD      # 桶类型,当前支持标准(STANDARD)和低频(WARM)两种桶。    csi.storage.k8s.io/fstype: obsfs          # 文件类型,obsfs表示创建并行文件系统,推荐使用;s3fs表示创建对象桶    everest.io/enterprise-project-id: 86bfc701-9d9e-4871-a318-6385aa368183  # 可选字段,企业项目id,Everest需升级到1.2.33及以上版本,仅支持集群所属企业项目和default企业项目,"0"表示default企业项目。spec:  accessModes:  - ReadWriteMany                  # 对象存储必须为ReadWriteMany  resources:    requests:      storage: 1Gi                 # 此处仅为校验需要(不能为空和0),设置的大小不起作用,此处设定为固定值1Gi  storageClassName: csi-obs        # StorageClass类型为对象存储
support.huaweicloud.com/usermanual-cce/cce_01_0378.html