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 poter utilizzare Astra Trident per il provisioning dinamico delle risorse di storage all'interno del cluster Kubernetes, devi creare uno 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 Astra Trident".

  1. NetApp consiglia di creare uno StorageClass per il back-end Trident abilitato per FlexGroup creato nella sezione "Esempio di backend Astra Trident per le implementazioni di NetApp AIPod", fase 1. I comandi di esempio che seguono mostrano la creazione di più StorageClasses che corrispondono ai due backend di esempio creati nella sezione "Esempio di backend Astra Trident per le implementazioni di NetApp AIPod", passo 1 - uno che utilizza "NFS su RDMA" e uno che non.

    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 a FlexVol creato nella sezione "Esempio di backend Astra Trident per le implementazioni di AIPod", punto 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