Skip to main content
NetApp Solutions
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Exemple de classes de stockage Kubernetes pour les déploiements NetApp AIPod

Contributeurs

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".

  1. 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 de Retain. Pour plus d'informations sur le reclaimPolicy 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
  2. 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