全部产品
云市场
云游戏

创建存储类型(StorageClass)

更新时间:2020-06-29 18:06:06

本文向您介绍如何创建一个存储类型(StorageClass)。目前,AKS 支持以下两种类型的存储类型:

NAS 类型

重要:NAS 类型的 Storage Class 必须和 AKS 集群节点在相同地域。

AKS 定义的 NAS 类型的 Storage Class 如下:

  1. apiVersion: storage.k8s.io/v1
  2. kind: StorageClass
  3. metadata:
  4. name: csi-nas-capacity
  5. provisioner: antcloud-csi
  6. parameters:
  7. storage_type: "cloud_nas" # Allowed enum: cloud_disk, cloud_nas
  8. # filesystem parameters
  9. nasType: "Capacity" # Allowed enum: Capacity, Performance, Extreme *
  10. protocolType: "NFS" # Allowed enum: NFS, SMB *
  11. serviceId: "1c7aff75-8b4f-4d2c-8dac-74af0b830d86-aliyun-nas-service-id"
  12. planId: "44dd37f1-77f9-42c5-91a5-743c007ba484-aliyun-nas-plan-id"
  13. reclaimPolicy: Retain # Allowed enum: Delete, Retain
  14. volumeBindingMode: Immediate # Allowed enum: Immediate, WaitForFirstConsumer

参数说明

参数名 参数说明 是否必选 备注
provisioner antcloud-csi AKS 动态卷控制器名称,不可更改。
storage_type 后端存储类型(块存储,文件存储) 目前仅支持:
- cloud_disk,表示阿里云盘。
- cloud_nas,表示阿里云 NAS。
nasType NAS 类型 可选值:
- Capacity,详情参见 容量型 NAS
- Performance,详情参见 性能型 NAS
- Extreme,详情参见 极速型 NAS
protocolType 文件系统类型 目前仅支持 NFS
readOnly 是否只读 可选值:truefalse
serviceId Service broker 必选参数 必须为:1c7aff75-8b4f-4d2c-8dac-74af0b830d86-aliyun-nas-service-id
planId Service broker必选参数 必须为:44dd37f1-77f9-42c5-91a5-743c007ba484-aliyun-nas-plan-id
reclaimPolicy 回收策略 - Retain: 保留后端存储,删除 PV/PVC 不会删除对应的后端存储如云盘。详情参考 文档
- Delete:当删除 PVC 时,自动删除 PV 和后端的存储。详情参考 文档
volumeBindingMode 存储卷绑定策略 控制存储卷绑定和动态供应行为
- Immediate:创建 PVC 后立即创建后端存储卷,并且立即绑定新创建的 PV 和 PVC。
- WaitForFirstConsumer:当 PVC 被 Pod 使用时,才触发 PV 和后端存储的创建,同时实现 PVC/PV 的绑定,启用该配置后,Storage Class 中的 Zone 和 Region 将不再生效,而是使用 Pod 调度所在节点的 zone 和 region 创建文件系统,保证文件系统能被 Pod 挂载。

云盘(cloud_disk)类型

重要:云盘类型的 Storage Class 必须和 AKS 集群节点在相同地域相同可用区。

AKS 定义的云盘类型的 Storage Class 如下:

  1. apiVersion: storage.k8s.io/v1
  2. kind: StorageClass
  3. metadata:
  4. name: csi-disk-efficiency
  5. provisioner: antcloud-csi
  6. parameters:
  7. failure-domain.beta.kubernetes.io/zone: <必须与当前集群中节点可用区匹配>
  8. failure-domain.beta.kubernetes.io/region: <必须与当前集群所在region匹配>
  9. fsType: "ext4"
  10. storage_type: "cloud_disk" # Allowed enum: cloud_disk, cloud_nas
  11. type: "cloud_ssd"
  12. readOnly: "false"
  13. serviceId: "8814fddf-5be7-4f8a-862c-f4a57c25a0b4-aliyun-disk-service-id"
  14. planId: "02b41c80-915f-43cd-a574-e9cd446f13ea-aliyun-disk-plan-id"
  15. reclaimPolicy: Retain # Allowed enum: Delete, Retain
  16. volumeBindingMode: Immediate # Allowed enum: Immediate, WaitForFirstConsumer

参数说明

参数名 说明 是否必填 备注
provisioner antcloud-csi 动态卷控制器名称,不可更改。
failure-domain.beta.kubernetes.io/region 地域 该字段当 volumeBindingMod=Immediate 时为必选,会被用来创建云盘。例如:CN-SHANGHAI,代表上海地域。
failure-domain.beta.kubernetes.io/zone 可用区 该字段当 volumeBindingMod=Immediate 时为必选,会被用来创建云盘。例如:CN-SHANGHAI-A,代表上海可用区 A。
fsType 分区格式 支持 ext4、ext3,默认 ext4。
storage_type 后端存储类型 - cloud_disk,表示阿里云云盘。
- cloud_nas, 表示阿里云 NAS。
type 磁盘类型 可选值:cloud_ssd、cloud_efficiency、cloud。详情参考 文档
readOnly 是否只读 可选值:true、false。
serviceId Service broker必选参数 必须为:8814fddf-5be7-4f8a-862c-f4a57c25a0b4-aliyun-disk-service-id
planId Service broker必选参数 必须为:02b41c80-915f-43cd-a574-e9cd446f13ea-aliyun-disk-plan-id
reclaimPolicy 回收策略 - Retain: 保留后端存储,删除 PV/PVC 不会删除对应的后端存储如云盘。详情参考 文档
- Delete:当删除 PVC 时,自动删除 PV 和后端的存储。详情参考 文档
volumeBindingMode 存储卷绑定策略 控制存储卷绑定和动态供应行为。
- Immediate:创建 PVC 后立即创建后端存储卷,并且立即绑定新创建的 PV 和 PVC。
- WaitForFirstConsumer:当 PVC 被 pod 使用时,才触发 PV 和后端存储的创建,同时实现 PVC 和 PV 的绑定,启用该配置后,storage class 中的 zone 和 region 将不再被使用,而是使用 pod 调度所在节点的 zone 和 region 创建云盘,保证云盘能被 Pod 挂载。

前提条件

需 AKS 管理员权限。

操作步骤

  1. 登录容器应用服务控制台,在左侧导航栏点击 存储 > 存储类型

  2. 存储类型 页面,点击 创建存储类型。在输入框中输入 YAML 内容,点击 提交