全部产品

创建存储类型(StorageClass)

本文向您介绍如何创建一个存储类型(StorageClass)。

目前,AKS 支持以下两种类型的存储类型:

说明

目前敏捷 PaaS 底座环境下,AKS 未对接阿里云的 NAS 及云盘存储,若要使用存储功能,需要您安装第三方存储插件。

NAS 类型

注意

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

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

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

参数说明

参数名

参数说明

是否必选

备注

provisioner

antcloud-csi

AKS 动态卷控制器名称,不可更改。

storage_type

后端存储类型(块存储,文件存储)

目前仅支持:

  • cloud_disk,表示阿里云盘

  • cloud_nas,表示阿里云 NAS。

nasType

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 如下:

apiVersion: storage.k8s.io/v1
kind:StorageClass
metadata:
   name: csi-disk-efficiency
provisioner: antcloud-csi
parameters:
    failure-domain.beta.kubernetes.io/zone:<必须与当前集群中节点可用区匹配>
    failure-domain.beta.kubernetes.io/region:<必须与当前集群所在region匹配>
    fsType:"ext4"
    storage_type:"cloud_disk"# Allowed enum: cloud_disk, cloud_nas
    type:"cloud_ssd"
    readOnly:"false"
    serviceId:"8814fddf-5be7-4f8a-862c-f4a57c25a0b4-aliyun-disk-service-id"
    planId:"02b41c80-915f-43cd-a574-e9cd446f13ea-aliyun-disk-plan-id"
reclaimPolicy:Retain# Allowed enum: Delete, Retain
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 内容,单击 提交