Exemple de classes de stockage Kubernetes pour les déploiements NetApp AIPod
Avant de pouvoir utiliser Trident pour provisionner les ressources de stockage de façon dynamique 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, et par exemple sur les classes de stockage pour d'autres plateformes/environnements, consultez le "Documentation Trident".
-
NetApp recommande de créer une classe de stockage pour le back-end Trident compatible FlexGroup que vous avez créé à la section "Exemple de systèmes back-end 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 Trident pour les déploiements NetApp AIPod", étape 1 - un qui utilise et un qui ne l'utilise "NFS sur RDMA"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 au "Documentation ONTAP" pour plus de détails.
Remarque : pour utiliser NFS sur RDMA, vous devez configurer NFS sur RDMA sur un système ONTAP. Reportez-vous au "Documentation ONTAP" 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 back-end Trident FlexVol que vous avez créé à la section "Exemple de systèmes back-end 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