Ejemplos de clases de almacenamiento de Kubernetes para puestas en marcha de AIPod de NetApp
Para poder usar Astra Trident para aprovisionar de forma dinámica recursos de almacenamiento dentro de su clúster de Kubernetes, debe crear uno o varios StorageClasses de Kubernetes. Los ejemplos siguientes representan los diferentes tipos de StorageClasses que puede que desee crear si va a implementar componentes de esta solución en un "AIPod de NetApp". Si desea obtener más información sobre las clases de almacenamiento, consulte "Documentación de Astra Trident".
-
NetApp recomienda crear una clase de almacenamiento para el back-end de Trident habilitado para FlexGroup que haya creado en la sección "Ejemplo de backend Astra Trident para implementaciones de AIPod de NetApp", paso 1. Los comandos de ejemplo que siguen muestran la creación de varias clases de almacenamiento que corresponden a los dos backend de ejemplo que se crearon en la sección "Ejemplo de backend Astra Trident para implementaciones de AIPod de NetApp", paso 1 - uno que utiliza "NFS sobre RDMA" y uno que no lo hace.
Para que no se elimine un volumen persistente cuando se elimine la reclamación de volumen persistente (RVP) correspondiente, en el siguiente ejemplo se utiliza un
reclaimPolicy
valor deRetain
. Para obtener más información acerca dereclaimPolicy
consulte el funcionario "Documentación de Kubernetes".Nota: El siguiente ejemplo StorageClasses utiliza un tamaño de transferencia máximo de 262144. Para utilizar este tamaño máximo de transferencia, debe configurar el tamaño máximo de transferencia en el sistema ONTAP de forma acorde. Consulte la "Documentación de ONTAP" para obtener más detalles.
Nota: Para utilizar NFS a través de RDMA, debe configurar NFS a través de RDMA en el sistema ONTAP. Consulte la documentación de linkhttps://docs.netapp.com/us-en/ontap/nfs-rdma/[ONTAP] para obtener más información.
Nota: En el siguiente ejemplo, no se especifica un backend específico en el campo storagePool del archivo de definición de 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
-
NetApp también recomienda crear un StorageClass que se corresponda con el back-end Trident habilitado para FlexVol que ha creado en la sección "Ejemplo de backend de Astra Trident para implementaciones de AIPod", paso 2. Los comandos de ejemplo siguientes muestran la creación de un solo tipo de almacenamiento para volúmenes FlexVol.
Nota: En el siguiente ejemplo, no se especifica un backend particular en el campo storagePool del archivo de definición de StorageClass. Cuando se usa Kubernetes para administrar volúmenes mediante este StorageClass, Trident intenta utilizar cualquier back-end disponible que utilice el
ontap-nas
controlador.$ 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