Skip to main content
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

NetApp AIPod環境向けのKubernetesストレージクラスの例

共同作成者

Astra Tridentを使用してKubernetesクラスタ内のストレージリソースを動的にプロビジョニングするには、Kubernetes StorageClassを1つ以上作成する必要があります。以降の例は、このソリューションのコンポーネントをに導入する場合に作成するさまざまなタイプのStorageClassesを示して "NetApp AIPod"います。StorageClasses、および他のプラットフォーム/環境のStorageClassesなどの詳細については、を参照してください "Astra Trident のドキュメント"

  1. NetAppでは、セクションで作成したFlexGroup対応のTridentバックエンド用にストレージクラスを作成することを推奨します。 "NetApp AIPod環境でのAstra Tridentバックエンドの例"、手順 1.以降のコマンド例では、セクションで作成した2つのバックエンドの例に対応する複数のStorageClassesを作成しています。 "NetApp AIPod環境でのAstra Tridentバックエンドの例"、ステップ1 - "RDMA経由のNFS" そうではありません

    対応する PersistentVolumeClaim ( PVC )が削除されたときに永続ボリュームが削除されないようにするため、次の例では「 Retain 」の「 ReclaimPolicy 」の値を使用しています。「 ReclaimPolicy 」フィールドの詳細については、公式を参照してください "Kubernetes のドキュメント"

    注:次の例のStorageClassesで使用される最大転送サイズは262144です。この最大転送サイズを使用するには、それに応じてONTAPシステムの最大転送サイズを設定する必要があります。詳細については、を参照して "ONTAP のドキュメント" ください。

    注:RDMA経由のNFSを使用するには、ONTAPシステムでRDMA経由のNFSを設定する必要があります。詳細については、を参照して "ONTAP のドキュメント" ください。

    注:次の例では、StorageClass定義ファイルのStoragePoolフィールドに特定のバックエンドが指定されていません。

    $ 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. に対応するストレージクラスを作成することも推奨します セクションで作成した FlexVol 対応の Trident バックエンド "AIPod環境向けのAstra Tridentバックエンドの例"、ステップ 2 。以下のコマンド例は、 FlexVol ボリューム用の単一のストレージクラスの作成を示しています。

    注:次の例では、StorageClass定義ファイルのStoragePoolフィールドに特定のバックエンドが指定されていません。Kubernetesを使用してこのStorageClassを使用するボリュームを管理すると、Tridentは、 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