Skip to main content
NetApp artificial intelligence solutions
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Ejemplos de clases de almacenamiento de Kubernetes para implementaciones de NetApp AIPod

Antes de poder usar Trident para aprovisionar dinámicamente recursos de almacenamiento dentro de su clúster de Kubernetes, debe crear una o más StorageClasses de Kubernetes. Los ejemplos que siguen representan diferentes tipos de StorageClasses que podría querer crear si está implementando componentes de esta solución en un"NetApp AIPod" . Para obtener más información sobre StorageClasses y, por ejemplo, StorageClasses para otras plataformas/entornos, consulte la"Documentación de Trident" .

  1. NetApp recomienda crear una StorageClass para el Trident Backend habilitado para FlexGroup que creó en la sección"Ejemplos de backends Trident para implementaciones de NetApp AIPod" , paso 1. Los comandos de ejemplo que siguen muestran la creación de múltiples StorageClasses que corresponden al ejemplo Backend que se creó en la sección"Ejemplos de backends Trident para implementaciones de NetApp AIPod" , paso 1 - uno que utilice"NFS sobre RDMA" y uno que no.

    Para que un volumen persistente no se elimine cuando se elimina el PersistentVolumeClaim (PVC) correspondiente, el siguiente ejemplo utiliza un reclaimPolicy valor de Retain . Para obtener más información sobre la reclaimPolicy campo, ver el oficial "Documentación de Kubernetes" .

    Nota: Las siguientes clases de almacenamiento de ejemplo utilizan un tamaño de transferencia máximo de 262144. Para utilizar este tamaño de transferencia máximo, debe configurar el tamaño de transferencia máximo en su sistema ONTAP según corresponda. Consulte la"Documentación de ONTAP" Para más detalles.

    Nota: Para utilizar NFS sobre RDMA, debe configurar NFS sobre RDMA en su sistema ONTAP . Consulte la"Documentación de ONTAP" Para más detalles.

    Nota: En el siguiente ejemplo, se especifica un Backend específico en el campo storagePool en el archivo de definición 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 también recomienda crear una StorageClass que corresponda al Trident Backend habilitado para FlexVol que creó en la sección"Ejemplos de backends Trident para implementaciones de AIPod" , paso 2. Los comandos de ejemplo que siguen muestran la creación de una única StorageClass para volúmenes FlexVol .

    Nota: En el siguiente ejemplo, no se especifica un Backend particular en el campo storagePool en el archivo de definición StorageClass. Cuando utiliza Kubernetes para administrar volúmenes mediante esta StorageClass, Trident intenta usar cualquier backend disponible que use la ontap-nas conductor.

    $ 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