适用于NetApp AIPod部署的Kubernetes StorageClasses示例
在使用 Trident 在 Kubernetes 集群中动态配置存储资源之前,必须创建一个或多个 Kubernetes StorageClasses 。下面的示例代表了在上部署此解决方案的组件时可能要创建的不同类型的StorageCluster "NetApp AIPod"。有关StorageClasses以及其他平台/环境的StorageClasses等详细信息,请参见 "Trident 文档"。
-
NetApp建议为在"适用于NetApp AIPod部署的Trident后端示例"第1步的部分中创建的启用了FlexGroup的Trident后端创建存储类。下面的示例命令显示了创建多个StorageClasses的过程,这些StorageClasses对应于在"适用于NetApp AIPod部署的Trident后端示例"第1节步骤1中创建的两个示例后端-一个使用,一个不使用"基于 RDMA 的 NFS"。
为了在删除相应的 PersistentVolumeClaim ( PVC )时不删除永久性卷,以下示例使用了
reClaimPolicy
值Retain
。有关re"claimPolicy
" 字段的详细信息,请参见相关官员 "Kubernetes 文档"。注意:以下示例StorageClasses使用的最大传输大小为262144。要使用此最大传输大小、必须相应地在ONTAP系统上配置最大传输大小。有关详细信息、请参见 "ONTAP 文档" 。
注意:要使用基于RDMA的NFS、必须在ONTAP系统上配置基于RDMA的NFS。有关详细信息、请参见 "ONTAP 文档" 。
注意:在以下示例中、未在StorageClass定义文件的StoragePoool字段中指定特定后端。
$ cat << EOF > ./storage-class-aipod-flexgroups-retain.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: aipod-flexgroups-retain provisioner: csi.trident.netapp.io mountOptions: ["vers=4.1", "nconnect=16", "rsize=262144", "wsize=262144"] parameters: backendType: "ontap-nas-flexgroup" storagePools: "aipod-flexgroups-iface1:.*" reclaimPolicy: Retain EOF $ kubectl create -f ./storage-class-aipod-flexgroups-retain.yaml storageclass.storage.k8s.io/aipod-flexgroups-retain created $ cat << EOF > ./storage-class-aipod-flexgroups-retain-rdma.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: aipod-flexgroups-retain-rdma provisioner: csi.trident.netapp.io mountOptions: ["vers=4.1", "proto=rdma", "max_connect=16", "rsize=262144", "wsize=262144"] parameters: backendType: "ontap-nas-flexgroup" storagePools: "aipod-flexgroups-iface1:.*" reclaimPolicy: Retain EOF $ kubectl create -f ./storage-class-aipod-flexgroups-retain-rdma.yaml storageclass.storage.k8s.io/aipod-flexgroups-retain-rdma created $ kubectl get storageclass NAME PROVISIONER AGE aipod-flexgroups-retain csi.trident.netapp.io 0m aipod-flexgroups-retain-rdma csi.trident.netapp.io 0m
-
此外,NetApp还建议创建一个与在"适用于AIPod部署的Trident后端示例"第2步的一节中创建的启用了FlexVol的Trident后端对应的存储类。下面的示例命令显示了为 FlexVol 卷创建一个 StorageClass 的过程。
注意:在以下示例中、未在StorageClass定义文件的StoragePoool字段中指定特定后端。当您使用Kubnetes管理使用此存储类的卷时、啮合动物会尝试使用任何使用的可用后端
ontap-nas
驱动程序。$ cat << EOF > ./storage-class-aipod-flexvols-retain.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: aipod-flexvols-retain provisioner: netapp.io/trident parameters: backendType: "ontap-nas" reclaimPolicy: Retain EOF $ kubectl create -f ./storage-class-aipod-flexvols-retain.yaml storageclass.storage.k8s.io/aipod-flexvols-retain created $ kubectl get storageclass NAME PROVISIONER AGE aipod-flexgroups-retain csi.trident.netapp.io 0m aipod-flexgroups-retain-rdma csi.trident.netapp.io 0m aipod-flexvols-retain csi.trident.netapp.io 0m