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

  1. 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 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 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
  2. 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