Configuration NFS de NetApp ONTAP
Pour activer l'intégration de Trident avec le système de stockage NetApp ONTAP via NFS, vous devez créer un backend qui permet la communication avec le système de stockage. Nous configurons un backend de base dans cette solution, mais si vous recherchez des options plus personnalisées, visitez la documentation"ici" .
Créer un SVM dans ONTAP
-
Connectez-vous à ONTAP System Manager, accédez à Stockage > Machines virtuelles de stockage, puis cliquez sur Ajouter.
-
Saisissez un nom pour le SVM, activez le protocole NFS, cochez la case Autoriser l'accès client NFS et ajoutez les sous-réseaux sur lesquels se trouvent vos nœuds de travail dans les règles de stratégie d'exportation pour autoriser le montage des volumes en tant que PV dans vos clusters de charge de travail.
Si vous utilisez un déploiement NAT de clusters d'utilisateurs ou de clusters de charges de travail avec NSX-T, vous devez ajouter le sous-réseau de sortie (dans le cas de TKGS0 ou le sous-réseau IP flottant (dans le cas de TKGI) aux règles de stratégie d'exportation. -
Fournissez les détails des LIF de données et les détails du compte d'administration SVM, puis cliquez sur Enregistrer.
-
Affecter les agrégats à un SVM. Accédez à Stockage > Machines virtuelles de stockage, cliquez sur les points de suspension en regard de la SVM nouvellement créée, puis cliquez sur Modifier. Cochez la case Limiter la création de volume aux niveaux locaux préférés et attachez-y les agrégats requis.
-
Dans le cas de déploiements NAT de clusters d'utilisateurs ou de charges de travail sur lesquels Trident doit être installé, la demande de montage de stockage peut arriver à partir d'un port non standard en raison de SNAT. Par défaut, ONTAP autorise uniquement les demandes de montage de volume provenant du port racine. Connectez-vous donc à ONTAP CLI et modifiez le paramètre pour autoriser les demandes de montage à partir de ports non standard.
ontap-01> vserver nfs modify -vserver tanzu_svm -mount-rootonly disabled
Créer des backends et des StorageClasses
-
Pour les systèmes NetApp ONTAP servant NFS, créez un fichier de configuration backend sur le jumphost avec le backendName, managementLIF, dataLIF, svm, le nom d'utilisateur, le mot de passe et d'autres détails.
{ "version": 1, "storageDriverName": "ontap-nas", "backendName": "ontap-nas+10.61.181.221", "managementLIF": "172.21.224.201", "dataLIF": "10.61.181.221", "svm": "trident_svm", "username": "admin", "password": "password" }
Il est recommandé de définir la valeur backendName personnalisée comme une combinaison du storageDriverName et du dataLIF qui sert NFS pour une identification facile. -
Créez le backend Trident en exécutant la commande suivante.
[netapp-user@rhel7]$ ./tridentctl -n trident create backend -f backend-ontap-nas.json +-------------------------+----------------+--------------------------------------+--------+---------+ | NAME | STORAGE DRIVER | UUID | STATE | VOLUMES | +-------------------------+----------------+--------------------------------------+--------+---------+ | ontap-nas+10.61.181.221 | ontap-nas | be7a619d-c81d-445c-b80c-5c87a73c5b1e | online | 0 | +-------------------------+----------------+--------------------------------------+--------+---------+
-
Une fois le backend créé, vous devez ensuite créer une classe de stockage. L'exemple de définition de classe de stockage suivant met en évidence les champs obligatoires et de base. Le paramètre
backendType
devrait refléter le pilote de stockage du backend Trident nouvellement créé.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: ontap-nfs provisioner: csi.trident.netapp.io parameters: backendType: "ontap-nas"
-
Créez la classe de stockage en exécutant la commande kubectl.
[netapp-user@rhel7 trident-installer]$ kubectl create -f storage-class-nfs.yaml storageclass.storage.k8s.io/ontap-nfs created
-
Une fois la classe de stockage créée, vous devez ensuite créer la première revendication de volume persistant (PVC). Un exemple de définition du PVC est donné ci-dessous. Assurez-vous que le
storageClassName
le champ correspond au nom de la classe de stockage qui vient d'être créée. La définition du PVC peut être davantage personnalisée selon les besoins en fonction de la charge de travail à provisionner.kind: PersistentVolumeClaim apiVersion: v1 metadata: name: basic spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi storageClassName: ontap-nfs
-
Créez le PVC en exécutant la commande kubectl. La création peut prendre un certain temps en fonction de la taille du volume de support en cours de création, vous pouvez donc observer le processus au fur et à mesure de son exécution.
[netapp-user@rhel7 trident-installer]$ kubectl create -f pvc-basic.yaml persistentvolumeclaim/basic created [netapp-user@rhel7 trident-installer]$ kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE basic Bound pvc-b4370d37-0fa4-4c17-bd86-94f96c94b42d 1Gi RWO ontap-nfs 7s