Configura una clase de almacenamiento y PVC
Configura un objeto StorageClass de Kubernetes y crea la clase de almacenamiento para indicarle a Trident cómo aprovisionar volúmenes. Crea un PersistentVolumeClaim (PVC) que use el StorageClass de Kubernetes configurado para solicitar acceso al PV. Luego puedes montar el PV en un pod.
Crear una clase de almacenamiento
Configura un objeto StorageClass de Kubernetes
El "Objeto de Kubernetes StorageClass" objeto identifica a Trident como el aprovisionador que se usa para esa clase y le indica a Trident cómo aprovisionar un volumen. Usa este ejemplo para configurar Storageclass para volúmenes que usan NFS (consulta la sección de atributos de Trident a continuación para la lista completa de atributos):
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ontap-gold
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-nas"
provisioningType: "thin"
snapshots: "true"
Usa este ejemplo para configurar Storageclass para volúmenes que usan iSCSI:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ontap-gold
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-san"
provisioningType: "thin"
snapshots: "true"
Para aprovisionar volúmenes NFSv3 en AWS Bottlerocket, agrega lo requerido mountOptions a la clase de almacenamiento:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ontap-gold
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-nas"
media: "ssd"
provisioningType: "thin"
snapshots: "true"
mountOptions:
- nfsvers=3
- nolock
Consulta "Objetos de Kubernetes y Trident" para ver detalles sobre cómo las clases de almacenamiento interactúan con el PersistentVolumeClaim y los parámetros para controlar cómo Trident aprovisiona volúmenes.
Crear una clase de almacenamiento
-
Este es un objeto de Kubernetes, así que usa
kubectlpara crearlo en Kubernetes.kubectl create -f storage-class-ontapnas.yaml -
Ahora deberías ver una clase de almacenamiento basic-csi tanto en Kubernetes como en Trident, y Trident debería haber descubierto los pools en el backend.
kubectl get sc basic-csi
NAME PROVISIONER AGE basic-csi csi.trident.netapp.io 15h
Crea el PVC
Una "PersistentVolumeClaim" (PVC) es una solicitud de acceso al PersistentVolume en el clúster.
El PVC se puede configurar para solicitar almacenamiento de un tamaño o modo de acceso determinados. Usando el StorageClass asociado, el administrador del clúster puede controlar más que solo el tamaño y el modo de acceso de PersistentVolume, como el rendimiento o el nivel de servicio.
Después de crear el PVC, puedes montar el volumen en un pod.
Manifiestos de muestra
Manifiestos de muestra de PersistentVolumeClaim
Estos ejemplos muestran opciones básicas de configuración de PVC.
Este ejemplo muestra un PVC básico con acceso RWX que está asociado con un StorageClass llamado basic-csi.
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-storage
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: ontap-gold
Este ejemplo muestra un PVC básico para iSCSI con acceso RWO que está asociado con un StorageClass llamado protection-gold.
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-san
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: protection-gold
Crear PVC
-
Crea el PVC.
kubectl create -f pvc.yaml -
Verifica el estado del PVC.
kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE pvc-storage Bound pv-name 2Gi RWO 5m
Consulta "Objetos de Kubernetes y Trident" para ver detalles sobre cómo las clases de almacenamiento interactúan con el PersistentVolumeClaim y los parámetros para controlar cómo Trident aprovisiona volúmenes.
Atributos de Trident
Estos parámetros determinan qué grupos de almacenamiento administrados por Trident se deben utilizar para aprovisionar volúmenes de un tipo dado.
| Atributo | Tipo | Valores | Oferta | Solicitud | Con el apoyo de |
|---|---|---|---|---|---|
medios1 |
cadena |
hdd, híbrido, ssd |
El pool contiene medios de este tipo; híbrido significa ambos |
Tipo de medio especificado |
ontap-nas, ontap-nas-economy, ontap-nas-flexgroup, ontap-san, solidfire-san |
provisioningType |
cadena |
delgado, grueso |
Pool admite este método de aprovisionamiento |
Método de aprovisionamiento especificado |
grueso: todo ontap; fino: todo ontap & solidfire-san |
backendType |
cadena |
ontap-nas, ontap-nas-economy, ontap-nas-flexgroup, ontap-san, solidfire-san, azure-netapp-files, ontap-san-economy |
Pool pertenece a este tipo de backend |
Backend especificado |
Todos los drivers |
instantáneas |
bool |
verdadero, falso |
El pool admite volúmenes con instantáneas |
Volumen con instantáneas habilitadas |
ontap-nas, ontap-san, solidfire-san |
clones |
bool |
verdadero, falso |
El pool admite la clonación de volúmenes |
Volumen con clones habilitados |
ontap-nas, ontap-san, solidfire-san |
cifrado |
bool |
verdadero, falso |
El pool admite volúmenes cifrados |
Volumen con cifrado habilitado |
ontap-nas, ontap-nas-economy, ontap-nas-flexgroups, ontap-san |
IOPS |
entero |
entero positivo |
El pool es capaz de garantizar IOPS en este rango |
Volumen garantizó estas IOPS |
solidfire-san |
1: No compatible con los sistemas ONTAP Select