Configure una clase de almacenamiento y la RVP
Configure un objeto StorageClass de Kubernetes y cree la clase de almacenamiento para indicar a Trident cómo se aprovisionan los volúmenes. Cree una reclamación de volumen persistente (RVP) que utilice el StorageClass de Kubernetes configurado para solicitar acceso al VP. A continuación, puede montar el VP en un pod.
Cree una clase de almacenamiento
Configurar un objeto de Kubernetes StorageClass
El "Objeto de Kubernetes StorageClass" El objeto identifica a Trident como el aprovisionador que se utiliza para esa clase y le indica cómo aprovisionar un volumen. Utilice este ejemplo para configurar Storageclass para volúmenes que utilizan NFS (consulte la sección Atributos de Trident a continuación para obtener 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"
Utilice este ejemplo para configurar Storageclass para volúmenes que utilizan 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 de NFSv3 TB en AWS Bottlerocket, agregue el necesario 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
Consulte el "Objetos de Kubernetes y Trident" para obtener más detalles sobre cómo interactúan las clases de almacenamiento con los PersistentVolumeClaim
parámetros y para controlar la forma en que Trident aprovisiona los volúmenes.
Cree una clase de almacenamiento
-
Este es un objeto de Kubernetes, así que use
kubectl
Para crear 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 back-end.
kubectl get sc basic-csi
NAME PROVISIONER AGE basic-csi csi.trident.netapp.io 15h
Cree la RVP
Una "Claim de volumen persistente" (RVP) es una solicitud para acceder al volumen persistente en el clúster.
La RVP se puede configurar para solicitar almacenamiento de un determinado tamaño o modo de acceso. Mediante el StorageClass asociado, el administrador del clúster puede controlar mucho más que el tamaño de los volúmenes persistentes y el modo de acceso, como el rendimiento o el nivel de servicio.
Después de crear la RVP, puede 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 una PVC básica con acceso RWX que está asociada con una clase de almacenamiento llamada 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 una StorageClass denominada protection-gold
.
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-san
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: protection-gold
Crear PVC
-
Cree la RVP.
kubectl create -f pvc.yaml
-
Verifique el estado de la RVP.
kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE pvc-storage Bound pv-name 2Gi RWO 5m
Consulte el "Objetos de Kubernetes y Trident" para obtener más detalles sobre cómo interactúan las clases de almacenamiento con los PersistentVolumeClaim
parámetros y para controlar la forma en que Trident aprovisiona los volúmenes.
Atributos de la Trident
Estos parámetros determinan qué pools de almacenamiento gestionados por Trident se deben utilizar para aprovisionar volúmenes de un determinado tipo.
Atributo | Tipo | Valores | Oferta | Solicitud | Admitido por |
---|---|---|---|---|---|
media 1 |
cadena |
hdd, híbrido, ssd |
Pool contiene medios de este tipo; híbrido significa ambos |
Tipo de medios especificado |
ontap-nas, ontap-nas-economy, ontap-nas-flexgroup, ontap-san y solidfire-san |
AprovisionaciónTipo |
cadena |
delgado, grueso |
El pool admite este método de aprovisionamiento |
Método de aprovisionamiento especificado |
grueso: all ONTAP; thin: all ONTAP y solidfire-san |
Tipo de backendType |
cadena |
ontap-nas, ontap-nas-economy, ontap-nas-flexgroup, ontap-san, solidfire-san, gcp-cvs, azure-netapp-files, ontap-san-economy |
Pool pertenece a este tipo de backend |
Backend especificado |
Todos los conductores |
snapshot |
bool |
verdadero, falso |
El pool admite volúmenes con Snapshot |
Volumen con snapshots habilitadas |
ontap-nas, ontap-san, solidfire-san y gcp-cvs |
clones |
bool |
verdadero, falso |
Pool admite el clonado de volúmenes |
Volumen con clones habilitados |
ontap-nas, ontap-san, solidfire-san y gcp-cvs |
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 |
int |
entero positivo |
El pool es capaz de garantizar IOPS en este rango |
El volumen garantizado de estas IOPS |
solidfire-san |
Esta versión 1: No es compatible con sistemas ONTAP Select