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 d'IA ONTAP

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 ci-dessous représentent les différents types de classes de stockage que vous pourriez souhaiter créer si vous déployez la solution NetApp ai Control plane sur un pod ONTAP ai. Pour plus d'informations sur les classes de stockage, consultez le "Documentation Trident".

  1. NetApp recommande de créer une classe de stockage distincte pour chaque système back-end Trident compatible avec FlexGroup que vous avez créé dans la section "Exemple de systèmes back-end Trident pour les déploiements d'IA de ONTAP", étape 1. Ces classes de stockage granulaire vous permettent d'ajouter des montages NFS qui correspondent à des LIF spécifiques (les LIF que vous avez spécifiées lors de la création des backends Trident) en tant que système back-end spécifique spécifié dans le fichier des spécifications de classe de stockage. Les exemples de commandes qui suivent montrent la création de deux classes de stockage qui correspondent aux deux exemples de backends créés dans la section "Exemple de systèmes back-end Trident pour les déploiements d'IA de ONTAP", étape 1. Pour plus d'informations sur les classes de stockage, consultez le "Documentation Trident".

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

    $ cat << EOF > ./storage-class-ontap-ai-flexgroups-retain-iface1.yaml
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: ontap-ai-flexgroups-retain-iface1
    provisioner: netapp.io/trident
    parameters:
      backendType: "ontap-nas-flexgroup"
      storagePools: "ontap-ai-flexgroups-iface1:.*"
    reclaimPolicy: Retain
    EOF
    $ kubectl create -f ./storage-class-ontap-ai-flexgroups-retain-iface1.yaml
    storageclass.storage.k8s.io/ontap-ai-flexgroups-retain-iface1 created
    $ cat << EOF > ./storage-class-ontap-ai-flexgroups-retain-iface2.yaml
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: ontap-ai-flexgroups-retain-iface2
    provisioner: netapp.io/trident
    parameters:
      backendType: "ontap-nas-flexgroup"
      storagePools: "ontap-ai-flexgroups-iface2:.*"
    reclaimPolicy: Retain
    EOF
    $ kubectl create -f ./storage-class-ontap-ai-flexgroups-retain-iface2.yaml
    storageclass.storage.k8s.io/ontap-ai-flexgroups-retain-iface2 created
    $ kubectl get storageclass
    NAME                                PROVISIONER         AGE
    ontap-ai-flexgroups-retain-iface1   netapp.io/trident   0m
    ontap-ai-flexgroups-retain-iface2   netapp.io/trident   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 Trident pour les déploiements d'IA de ONTAP", étape 2. Les exemples de commandes ci-dessous montrent la création d'une classe de stockage unique pour les volumes FlexVol.

    Dans l'exemple suivant, un système back-end particulier n'est pas spécifié dans le fichier de définition StorageClass car un seul système back-end Trident activé pour FlexVol a été créé. Lorsque vous utilisez Kubernetes pour administrer des volumes qui utilisent cette classe de stockage, Trident tente d'utiliser tout back-end disponible qui utilise le ontap-nas conducteur.

    $ cat << EOF > ./storage-class-ontap-ai-flexvols-retain.yaml
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: ontap-ai-flexvols-retain
    provisioner: netapp.io/trident
    parameters:
      backendType: "ontap-nas"
    reclaimPolicy: Retain
    EOF
    $ kubectl create -f ./storage-class-ontap-ai-flexvols-retain.yaml
    storageclass.storage.k8s.io/ontap-ai-flexvols-retain created
    $ kubectl get storageclass
    NAME                                PROVISIONER         AGE
    ontap-ai-flexgroups-retain-iface1   netapp.io/trident   1m
    ontap-ai-flexgroups-retain-iface2   netapp.io/trident   1m
    ontap-ai-flexvols-retain            netapp.io/trident   0m
  3. NetApp recommande également de créer une classe de stockage générique pour les volumes FlexGroup. Les exemples de commandes suivants montrent la création d'une classe de stockage générique pour les volumes FlexGroup.

    Notez qu'un back-end particulier n'est pas spécifié dans le fichier de définition de classe de stockage. Par conséquent, lorsque vous utilisez Kubernetes pour gérer des volumes qui utilisent cette classe de stockage, Trident tente d'utiliser tout back-end disponible qui utilise le ontap-nas-flexgroup conducteur.

$ cat << EOF > ./storage-class-ontap-ai-flexgroups-retain.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: ontap-ai-flexgroups-retain
provisioner: netapp.io/trident
parameters:
  backendType: "ontap-nas-flexgroup"
reclaimPolicy: Retain
EOF
$ kubectl create -f ./storage-class-ontap-ai-flexgroups-retain.yaml
storageclass.storage.k8s.io/ontap-ai-flexgroups-retain created
$ kubectl get storageclass
NAME                                PROVISIONER         AGE
ontap-ai-flexgroups-retain          netapp.io/trident   0m
ontap-ai-flexgroups-retain-iface1   netapp.io/trident   2m
ontap-ai-flexgroups-retain-iface2   netapp.io/trident   2m
ontap-ai-flexvols-retain            netapp.io/trident   1m