Esempi di classi di archiviazione Kubernetes per distribuzioni NetApp AIPod
Prima di poter utilizzare Trident per effettuare il provisioning dinamico delle risorse di storage all'interno del cluster Kubernetes, è necessario creare una o più StorageClass Kubernetes. Gli esempi che seguono rappresentano diversi tipi di StorageClasses che potresti voler creare se stai distribuendo componenti di questa soluzione su un"NetApp AIPod" . Per ulteriori informazioni su StorageClasses e, ad esempio, su StorageClasses per altre piattaforme/ambienti, vedere"Documentazione Trident" .
-
NetApp consiglia di creare una StorageClass per il backend Trident abilitato per FlexGroup creato nella sezione"Esempi di backend Trident per distribuzioni NetApp AIPod" , passo 1. I comandi di esempio che seguono mostrano la creazione di più StorageClass che corrispondono al Backend di esempio creato nella sezione"Esempi di backend Trident per distribuzioni NetApp AIPod" , passo 1 - uno che utilizza"NFS su RDMA" e uno che non lo fa.
Per evitare che un volume persistente venga eliminato quando viene eliminato il PersistentVolumeClaim (PVC) corrispondente, l'esempio seguente utilizza un
reclaimPolicyvalore diRetain. Per maggiori informazioni sulreclaimPolicycampo, vedere l'ufficiale "Documentazione di Kubernetes" .Nota: le seguenti StorageClass di esempio utilizzano una dimensione di trasferimento massima di 262144. Per utilizzare questa dimensione massima di trasferimento, è necessario configurare di conseguenza la dimensione massima di trasferimento sul sistema ONTAP . Fare riferimento al"Documentazione ONTAP" per i dettagli.
Nota: per utilizzare NFS su RDMA, è necessario configurare NFS su RDMA sul sistema ONTAP . Fare riferimento al"Documentazione ONTAP" per i dettagli.
Nota: nell'esempio seguente, un Backend specifico è specificato nel campo storagePool nel file di definizione StorageClass.
$ 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 consiglia inoltre di creare una StorageClass che corrisponda al Trident Backend abilitato per FlexVol creato nella sezione"Esempi di backend Trident per distribuzioni AIPod" , passo 2. I comandi di esempio che seguono mostrano la creazione di una singola StorageClass per i volumi FlexVol .
Nota: nell'esempio seguente, un particolare Backend non è specificato nel campo storagePool nel file di definizione StorageClass. Quando si utilizza Kubernetes per amministrare i volumi utilizzando questa StorageClass, Trident tenta di utilizzare qualsiasi backend disponibile che utilizza
ontap-nasautista.$ 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