Exemple de classes de stockage Kubernetes pour les déploiements NetApp AIPod
Avant de pouvoir utiliser Astra Trident pour provisionner dynamiquement des ressources de stockage dans votre cluster Kubernetes, vous devez créer une ou plusieurs classes de stockage Kubernetes. Les exemples suivants représentent différents types de classes de stockage que vous pouvez créer si vous déployez des composants de cette solution sur un "Pod NetApp AIPod". Pour plus d'informations sur les classes de stockage, consultez le "Documentation Astra Trident".
-
NetApp recommande de créer une classe de stockage pour le système back-end Trident compatible FlexGroup que vous avez créé dans la section "Exemple de systèmes back-end Astra Trident pour les déploiements NetApp AIPod", étape 1. Les exemples de commandes qui suivent montrent la création de plusieurs classes de stockage correspondant aux deux exemples de back-end créés dans la section "Exemple de systèmes back-end Astra Trident pour les déploiements NetApp AIPod", étape 1 - une qui utilise "NFS sur RDMA" et une qui ne le fait pas.
Pour qu'un volume persistant ne soit pas supprimé lorsque la demande de volume persistant correspondante est supprimée, l'exemple suivant utilise une
reclaimPolicy
valeur deRetain
. Pour plus d'informations sur lereclaimPolicy
consultez le champ officiel "Documentation Kubernetes".Remarque : l'exemple suivant de classes de stockage utilise une taille de transfert maximale de 262144. Pour utiliser cette taille de transfert maximale, vous devez configurer la taille de transfert maximale sur votre système ONTAP en conséquence. Reportez-vous à la "Documentation ONTAP" pour plus d'informations.
Remarque : pour utiliser NFS sur RDMA, vous devez configurer NFS sur RDMA sur un système ONTAP. Reportez-vous à la documentation du ONTAP de recherche de niveau 1 pour plus de détails.
Remarque : dans l'exemple suivant, un back-end spécifique n'est pas spécifié dans le champ StoragePool du fichier de définition 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 recommande également de créer une classe de stockage correspondant au système back-end Trident activé pour FlexVol que vous avez créé dans la section "Exemple de systèmes back-end Astra Trident pour les déploiements AIPod", étape 2. Les exemples de commandes ci-dessous montrent la création d'une classe de stockage unique pour les volumes FlexVol.
Remarque : dans l'exemple suivant, un back-end particulier n'est pas spécifié dans le champ StoragePool du fichier de définition StorageClass. Lorsque vous utilisez Kubernetes pour gérer des volumes à l'aide de cette classe de stockage, Trident tente d'utiliser n'importe quel back-end disponible qui utilise le système
ontap-nas
conducteur.$ 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