NetApp AIPod 部署的 Kubernetes StorageClasses 範例
您必須先建立一或多個Kubernetes StorageClass、才能使用Trident在Kubernetes叢集中動態配置儲存資源。以下範例代表在上部署本解決方案元件時、您可能會想要建立的不同類型 StorageClasses "NetApp AIPod"。如需 StorageClasses 的詳細資訊,以及其他平台 / 環境的 StorageClasses 等資訊,請參閱 "Trident文件"。
-
NetApp 建議您為您在"適用於 NetApp AIPod 部署的 Trident 後端範例"步驟 1 一節中建立的啟用 FlexGroup 的 Trident 後端建立 StorageClass 。後面的命令範例顯示建立多個 StorageClasses "適用於 NetApp AIPod 部署的 Trident 後端範例"、對應於在第 1 步中建立的兩個範例 Backend 、第 1 步是使用的、第 1 步是不使用的"NFS over RDMA"。
因此當刪除對應的PersistentVolume Claim(PVc)時、不會刪除持續磁碟區、以下範例使用「回收原則」值「保留」。如需「回收政策」欄位的詳細資訊、請洽相關官員 "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
-
NetApp 也建議您建立與您在"AIPod 部署的 Trident 後端範例"步驟 2 一節中建立的啟用 FlexVol 的 Trident 後端相對應的 StorageClass 。以下命令範例顯示建立FlexVol 單一StorageClass for the餐廳。
附註:在下列範例中、 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