Skip to main content
NetApp Solutions
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

适用于NetApp AIPod部署的Kubernetes StorageClasses示例

贡献者

在使用Asta三端到功能在Kubornetes集群中动态配置存储资源之前、您必须先创建一个或多个Kubornetes StorageCluster。下面的示例代表了在上部署此解决方案的组件时可能要创建的不同类型的StorageCluster "NetApp AIPod"。有关StorageClasses以及其他平台/环境的StorageClasses等详细信息,请参见 "Astra Trident 文档"

  1. NetApp建议为您在一节中创建的启用了FlexGroup的三端后端创建存储类 "适用于NetApp AIPod部署的Asta三叉式后端示例",步骤 1 。下面的示例命令显示了创建多个StorageClasses的过程、这些StorageClasses对应于本节中创建的两个示例后端 "适用于NetApp AIPod部署的Asta三叉式后端示例",第1步-一个利用的步骤 "基于 RDMA 的 NFS" 而不是。

    为了在删除相应的 PersistentVolumeClaim ( PVC )时不删除永久性卷,以下示例使用了 reClaimPolicyRetain 。有关 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
  2. NetApp 还建议创建一个与您在部分中创建的启用了 FlexVol 的 Trident 后端对应的 StorageClass "适用于AIPod部署的Asta Trendent后端示例",第2步。下面的示例命令显示了为 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