Skip to main content
NetApp Solutions
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Esempio di Kubernetes StorageClasses per implementazioni di NetApp AIPod

Collaboratori

Prima di utilizzare Trident per eseguire il provisioning dinamico delle risorse di storage all'interno del cluster Kubernetes, è necessario creare una o più Kubernetes StorageClasses. Gli esempi che seguono rappresentano diversi tipi di StorageClasses che si potrebbe voler creare se si distribuiscono componenti di questa soluzione su un "FlexPod NetApp". Per ulteriori informazioni su StorageClasses e, ad esempio, StorageClasses per altre piattaforme/ambienti, vedere "Documentazione di Trident".

  1. NetApp consiglia di creare un StorageClass per il backend Trident abilitato per FlexGroup creato nella sezione "Esempi di backend Trident per implementazioni di NetApp APod", passaggio 1. I comandi di esempio che seguono mostrano la creazione di più StorageClasses che corrispondono ai due backend di esempio che è stato creato nella sezione "Esempi di backend Trident per implementazioni di NetApp APod", passo 1 - uno che utilizza "NFS su RDMA" e uno che non lo fa.

    Per evitare che un volume persistente venga cancellato quando il PVC (PersistentVolumeClaim) corrispondente viene cancellato, nel seguente esempio viene utilizzato un reclaimPolicy valore di Retain. Per ulteriori informazioni su reclaimPolicy vedi il sito ufficiale "Documentazione Kubernetes".

    Nota: Il seguente esempio StorageClasses utilizza una dimensione di trasferimento massima di 262144 GB. Per utilizzare questa dimensione di trasferimento massima, è necessario configurare di conseguenza la dimensione di trasferimento massima sul sistema ONTAP. Per ulteriori informazioni, fare riferimento alla "Documentazione ONTAP" .

    Nota: Per utilizzare NFS su RDMA, è necessario configurare NFS su RDMA sul sistema ONTAP. Per ulteriori informazioni, fare riferimento alla "Documentazione ONTAP" .

    Nota: Nell'esempio seguente, non viene specificato un backend specifico nel campo storagePool nel file di definizione 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 consiglia inoltre di creare un StorageClass che corrisponda al backend Trident abilitato per FlexVol creato nella sezione "Esempi di backend Trident per implementazioni di APod", passaggio 2. I comandi di esempio che seguono mostrano la creazione di una singola classe di storage per volumi FlexVol.

    Nota: Nell'esempio seguente, non viene specificato un backend particolare nel campo storagePool nel file di definizione StorageClass. Quando utilizzi Kubernetes per amministrare volumi utilizzando questa StorageClass, Trident tenta di utilizzare qualsiasi backend disponibile che utilizza ontap-nas driver.

    $ 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