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

ONTAP AI 導入向けの Kubernetes StorageClasses の例

寄稿者 kevin-hoke mboglesby このページの PDF をダウンロード

Trident を使用して Kubernetes クラスタ内のストレージリソースを動的にプロビジョニングするには、 Kubernetes StorageClasses を 1 つ以上作成する必要があります。以下に示す例は、 ONTAP AI ポッドにネットアップ AI コントロールプレーン解決策を導入する場合に作成する、さまざまなタイプのストレージクラスを表しています。StorageClasses の詳細については、を参照してください "Trident のドキュメント"

  1. FlexGroup が有効な Trident ごとに別々のストレージクラスを作成することを推奨します セクションで作成したバックエンド "ONTAP AI 導入向け Trident バックエンドの例"、手順 1.これらの Granular StorageClasses を使用すると、 StorageClass 仕様ファイルで指定されている特定のバックエンドとして、特定の LIF ( Trident バックエンドの作成時に指定した LIF )に対応する NFS マウントを追加できます。以降のコマンド例では、 2 つのを作成しています StorageClasses を使用して、バックエンドの 2 つの例に対応しています セクションで作成されます "ONTAP AI 導入向け Trident バックエンドの例"、手順 1.StorageClasses の詳細については、を参照してください "Trident のドキュメント"

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

    $ cat << EOF > ./storage-class-ontap-ai-flexgroups-retain-iface1.yaml
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: ontap-ai-flexgroups-retain-iface1
    provisioner: netapp.io/trident
    parameters:
      backendType: "ontap-nas-flexgroup"
      storagePools: "ontap-ai-flexgroups-iface1:.*"
    reclaimPolicy: Retain
    EOF
    $ kubectl create -f ./storage-class-ontap-ai-flexgroups-retain-iface1.yaml
    storageclass.storage.k8s.io/ontap-ai-flexgroups-retain-iface1 created
    $ cat << EOF > ./storage-class-ontap-ai-flexgroups-retain-iface2.yaml
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: ontap-ai-flexgroups-retain-iface2
    provisioner: netapp.io/trident
    parameters:
      backendType: "ontap-nas-flexgroup"
      storagePools: "ontap-ai-flexgroups-iface2:.*"
    reclaimPolicy: Retain
    EOF
    $ kubectl create -f ./storage-class-ontap-ai-flexgroups-retain-iface2.yaml
    storageclass.storage.k8s.io/ontap-ai-flexgroups-retain-iface2 created
    $ kubectl get storageclass
    NAME                                PROVISIONER         AGE
    ontap-ai-flexgroups-retain-iface1   netapp.io/trident   0m
    ontap-ai-flexgroups-retain-iface2   netapp.io/trident   0m
  2. に対応するストレージクラスを作成することも推奨します セクションで作成した FlexVol 対応の Trident バックエンド "ONTAP AI 導入向け Trident バックエンドの例"、ステップ 2 。以下のコマンド例は、 FlexVol ボリューム用の単一のストレージクラスの作成を示しています。

    次の例では、 FlexVol 対応の Trident バックエンドが 1 つしか作成されていないため、 StorageClass 定義ファイルで特定のバックエンドが指定されていません。Kubernetes を使用してこの StorageClass を使用するボリュームを管理すると、 Trident は「 ONTAP-NAS' 」ドライバを使用するバックエンドで利用可能なものを使用しようとします。

    $ cat << EOF > ./storage-class-ontap-ai-flexvols-retain.yaml
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: ontap-ai-flexvols-retain
    provisioner: netapp.io/trident
    parameters:
      backendType: "ontap-nas"
    reclaimPolicy: Retain
    EOF
    $ kubectl create -f ./storage-class-ontap-ai-flexvols-retain.yaml
    storageclass.storage.k8s.io/ontap-ai-flexvols-retain created
    $ kubectl get storageclass
    NAME                                PROVISIONER         AGE
    ontap-ai-flexgroups-retain-iface1   netapp.io/trident   1m
    ontap-ai-flexgroups-retain-iface2   netapp.io/trident   1m
    ontap-ai-flexvols-retain            netapp.io/trident   0m
  3. また、 FlexGroup ボリューム用の汎用の StorageClass を作成することを推奨します。次のコマンド例は、 FlexGroup ボリューム用の汎用の StorageClass を 1 つ作成する方法を示しています。

    特定のバックエンドが StorageClass 定義ファイルで指定されていないことに注意してください。したがって、 Kubernetes を使用してこのストレージクラスを使用するボリュームを管理する場合、 Trident は「 ONTAP-NAS-flexgroup 」ドライバを使用する利用可能なバックエンドを使用しようとします。

$ cat << EOF > ./storage-class-ontap-ai-flexgroups-retain.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: ontap-ai-flexgroups-retain
provisioner: netapp.io/trident
parameters:
  backendType: "ontap-nas-flexgroup"
reclaimPolicy: Retain
EOF
$ kubectl create -f ./storage-class-ontap-ai-flexgroups-retain.yaml
storageclass.storage.k8s.io/ontap-ai-flexgroups-retain created
$ kubectl get storageclass
NAME                                PROVISIONER         AGE
ontap-ai-flexgroups-retain          netapp.io/trident   0m
ontap-ai-flexgroups-retain-iface1   netapp.io/trident   2m
ontap-ai-flexgroups-retain-iface2   netapp.io/trident   2m
ontap-ai-flexvols-retain            netapp.io/trident   1m