Instala Trident en un clúster Red Hat OpenShift y crea objetos de almacenamiento
Instala Trident con Red Hat Certified Trident Operator y crea objetos de almacenamiento para ONTAP y Amazon FSx for NetApp ONTAP para habilitar el aprovisionamiento dinámico de volúmenes para contenedores y VMs. Prepara los nodos trabajadores para el acceso a bloques cuando sea necesario.
-
Completa los procedimientos en esta página antes de instalar OpenShift Virtualization. OpenShift Virtualization requiere un StorageClass respaldado por Trident por defecto y un VolumeSnapshotClass para crear imágenes golden para plantillas de máquinas virtuales.
-
Si ya instalaste OpenShift Virtualization antes de configurar Trident, elimina cualquier imagen golden creada con una clase de almacenamiento diferente. Después de que configures Trident como predeterminado, OpenShift Virtualization vuelve a crear las imágenes golden usando el almacenamiento de Trident.
oc delete dv,VolumeSnapshot -n openshift-virtualization-os-images --selector=cdi.kubevirt.io/dataImportCron
Paso 1: instalar Trident
El Red Hat Certified Trident Operator es compatible con NetApp para OpenShift en las instalaciones, en nubes públicas y en servicios gestionados como ROSA. A partir de Trident 25.02, el operador también puede preparar nodos de trabajo para iSCSI cuando usas Amazon FSx for NetApp ONTAP y planeas ejecutar cargas de trabajo de VM de virtualización de OpenShift.
Para otras opciones de instalación, mira "la documentación de Trident".
-
En OperatorHub, selecciona Certified NetApp Trident.
Mostrar ejemplo

-
En la página Instalar, mantén la última versión y selecciona Instalar.
Mostrar ejemplo

-
Después de que el operador se instale, selecciona View operator y crea una instancia de Trident Orchestrator.
Si quieres preparar los nodos trabajadores para iSCSI, cambia a la vista YAML y añade
iscsianodePrep.Mostrar ejemplo

-
Confirma que todos los pods Trident están en ejecución en el clúster.
Mostrar ejemplo

-
Si activaste la preparación de nodos iSCSI, inicia sesión en los nodos trabajadores y verifica que
iscsidymultipathdestén activos y quemultipath.conftenga entradas.Mostrar ejemplo

Mostrar ejemplo

Mostrar ejemplo

El siguiente vídeo muestra una demostración de cómo instalar Trident usando el Red Hat Certified Trident Operator.
Paso 2: prepara el backend de almacenamiento y los archivos de configuración de StorageClass para tu entorno
Crea definiciones de TridentBackendConfig y StorageClass para tu entorno. Puedes configurar varios protocolos de almacenamiento dentro de tu entorno. Crea archivos YAML para cada protocolo que quieras usar y reemplaza los valores de los marcadores de posición por los detalles específicos de tu configuración.
|
|
Completa la sección local o ROSA según tu entorno y luego sigue con el paso 3. |
Clústeres on-premises OpenShift
Crea archivos YAML para cada protocolo que quieras configurar. Puedes configurar uno o más de los siguientes protocolos: NAS para almacenamiento de archivos basado en NFS, iSCSI para almacenamiento de bloques iSCSI, NVMe/TCP para almacenamiento de bloques NVMe sobre TCP de alto rendimiento o FC para almacenamiento de bloques Fibre Channel.
Crea un TridentBackendConfig y un StorageClass para cada protocolo. La configuración del backend incluye credenciales almacenadas en un secreto de Kubernetes.
Pautas esenciales para las opciones básicas de configuración del backend
-
Los archivos de configuración del backend hacen referencia a tu ONTAP SVM y a tu LIF de gestión. +
-
Puedes utilizar nombre de usuario y contraseña para autenticarte en ONTAP. Pueden ser el nombre de usuario y la contraseña del administrador del clúster o del administrador del vserver. +
-
También puedes usar un certificado de cliente para la autenticación con ONTAP. Para detalles sobre cómo generar el certificado de cliente, la clave privada y el certificado de la CA, revisa "Documentación de Trident aquí".
Pautas esenciales para las opciones de configuración del backend para el controlador economy de NAS
Se pueden incluir los siguientes parámetros para la configuración del NAS economy driver:
-
qtreesPerFlexvol El valor debe estar en el rango de 50 a 300, el valor predeterminado es 200. +
-
limitVolumePoolSize El valor es el tamaño máximo de FlexVol que solicitas cuando usas qtrees en el backend ontap-nas-economy. No se establece ningún valor predeterminado y este parámetro no se aplica por defecto. Si configuras este parámetro, el operador Trident crea un nuevo FlexVol cuando el FlexVol actual alcanza el tamaño especificado. Este parámetro puede ayudarte a controlar el uso de la capacidad en tu clúster al restringir el tamaño de los FlexVols usados para el aprovisionamiento de PVs. +
-
denyNewVolumePools Este parámetro impide que los backends de ontap-nas-economy creen nuevos volúmenes FlexVol para alojar sus qtrees. Solo se utilizan los FlexVol ya existentes para el aprovisionamiento de nuevos PV.
Directrices esenciales para las opciones de configuración del backend para el controlador SAN
Se pueden incluir los siguientes parámetros para la configuración del controlador SAN:
-
limitVolumeSize El valor es el tamaño máximo de volumen que solicitas cuando usas un backend SAN. No se establece ningún valor predeterminado y este parámetro no se aplica por defecto. Si configuras este parámetro, el operador de Trident falla el aprovisionamiento si el tamaño de volumen solicitado supera este valor. Puedes usar este parámetro para restringir el tamaño máximo de los volúmenes que gestiona para LUN. +
-
lunsPerFlexvol Número máximo de LUN por FlexVol, debe estar en el rango [50, 200], el valor predeterminado es 100. Si configuras este parámetro, el operador de Trident crea un nuevo FlexVol cuando el FlexVol actual alcanza el número especificado de LUN. Este parámetro puede ayudarte a controlar el uso de la capacidad en tu clúster al restringir el número de LUN por FlexVol usado para el aprovisionamiento de PV.
Directrices esenciales para las opciones de configuración del backend para el controlador SAN economy
Se pueden incluir los siguientes parámetros para la configuración del SAN economy driver:
-
limitVolumePoolSize El valor es el tamaño máximo de FlexVol que solicitas cuando usas el backend SAN economy. No se establece ningún valor predeterminado y este parámetro no se aplica por defecto. Si configuras este parámetro, el operador de Trident limita el tamaño máximo de flexvol que se puede crear para crear LUNs en el flexvol. Este parámetro puede ayudarte a controlar el uso de la capacidad en tu clúster al restringir el tamaño de los FlexVols usados para el aprovisionamiento de PVs. +
-
denyNewVolumePools Este parámetro impide que los backends económicos de SAN creen nuevos volúmenes FlexVol para alojar sus LUN. Solo se utilizan los FlexVol ya existentes para el aprovisionamiento de nuevos PV.
Directrices esenciales para las opciones de configuración del backend para el aprovisionamiento de volúmenes
|
|
En los archivos yaml de ejemplo proporcionados para cada protocolo, si no se proporciona storagePrefix, se utiliza el prefijo predeterminado “trident”. Cuando usas ontap-nas-economy y un storagePrefix de 24 caracteres o más, los qtrees no tendrán el prefijo de almacenamiento incluido, aunque sí estará en el nombre del volumen. |
Cuando creas un volumen en ONTAP directamente desde system manager o desde la CLI, sin proporcionar valores para todos los parámetros opcionales, se establecen automáticamente algunos valores predeterminados durante el aprovisionamiento de un volumen, como se muestra a continuación.


A continuación se muestra un ejemplo de un volumen creado mediante la configuración del backend Trident. No tiene ninguna opción configurada explícitamente en la sección defaults, salvo la plantilla de nombre.
oc describe tbc -n trident tbc-nas
### output truncated for brevity
Spec:
Backend Name: tbc-nas
Credentials:
Name: tbc-nas-secret
Defaults: # There are no defaults set except for the volume name template.
Name Template: {{ .config.StoragePrefix }}_{{ .volume.Namespace }}_{{ .volume.RequestName }}
Management LIF: 10.192.102.50
Storage Driver Name: ontap-nas
Storage Prefix: testautomation
Svm: oc-test-automation
Cuando se crea el volumen utilizando esta configuración del backend, las opciones que no se hayan establecido en el archivo de configuración del backend se fijan en los valores por defecto como se muestra a continuación.

Sin embargo, cuando estableces valores en la sección default en la configuración del backend de Trident, puedes crear volúmenes que pueden tener valores específicos para esos parámetros. En el siguiente ejemplo, snapshotPolicy se establece en default policy (es none si no configuras nada explícitamente) y snapshotDir se establece en true en la sección default del archivo de configuración yaml del backend. Con esta configuración, puedes ver que el volumen del backend obtiene esos valores. (snapdir-access es true y snapshot-policy es default)



Para el resto de parámetros adicionales, consulta la documentación de Trident:
Crea un TridentBackendConfig y un StorageClass para ONTAP NAS para habilitar el aprovisionamiento de almacenamiento persistente basado en NFS. La configuración del backend incluye credenciales almacenadas en un Kubernetes Secret y hace referencia a tu SVM de ONTAP y a tu LIF de gestión.
Ejemplo de secreto de backend y archivo de configuración de backend con autenticación mediante nombre de usuario y contraseña (guardar como tbc-nas.yaml):
# tbc-nas.yaml
apiVersion: v1
kind: Secret
metadata:
name: tbc-nas-secret
type: Opaque
stringData:
username: <cluster admin username>
password: <cluster admin password>
---
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: tbc-nas
spec:
version: 1
storageDriverName: ontap-nas
managementLIF: <ONTAP management LIF>
backendName: tbc-nas
svm: zoneb #<replace with your SVM name>
storagePrefix: testzoneb #<replace with your prefix>
defaults:
nameTemplate: "{{ .config.StoragePrefix }}_{{ .volume.Namespace }}_{{ .volume.RequestName }}"
credentials:
name: tbc-nas-secret
Ejemplo de secreto de backend y archivo de configuración de backend con autenticación mediante certificado de cliente (guardar como tbc-nas.yaml):
# tbc-nas.yaml
apiVersion: v1
kind: Secret
metadata:
name: ontap-nas-secret
namespace: trident
type: Opaque
stringData:
clientPrivateKey: <client private>
---
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: tbc-nas
namespace: trident
spec:
version: 1
storageDriverName: ontap-nas
managementLIF: <ONTAP management LIF>
backendName: tbc-nas
svm: zoneb #<replace with your SVM name>
storagePrefix: testzoneb #<replace with your prefix>
credentials:
name: ontap-nas-secret
clientCertificate: <client certificate>
Definición de StorageClass (guarda como sc-nas.yaml):
# sc-nas.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: sc-nas
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-nas"
media: "ssd"
provisioningType: "thin"
snapshots: "true"
allowVolumeExpansion: true
Crea un TridentBackendConfig y un StorageClass para el controlador ONTAP NAS economy, con el fin de habilitar el aprovisionamiento de almacenamiento persistente basado en NFS mediante qtrees. La configuración del backend incluye credenciales almacenadas en un Kubernetes Secret y hace referencia a tu ONTAP SVM y a tu LIF de gestión.
Ejemplo de secreto de backend y archivo de configuración de backend con autenticación mediante nombre de usuario y contraseña (guardar como tbc-nas-economy.yaml):
# tbc-nas-economy.yaml
apiVersion: v1
kind: Secret
metadata:
name: tbc-nas-economy-secret
type: Opaque
stringData:
username: <cluster admin username>
password: <cluster admin password>
---
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: tbc-nas-economy
spec:
version: 1
storageDriverName: ontap-nas-economy
managementLIF: <ONTAP management LIF>
backendName: tbc-nas-eco
svm: <replace with your SVM name>
storagePrefix: <replace with your prefix>
defaults:
nameTemplate: "{{ .config.StoragePrefix }}_{{ .volume.Namespace }}_{{ .volume.RequestName }}"
credentials:
name: tbc-nas-economy-secret
StorageClass definición (guarda como sc-nas-economy.yaml):
# sc-nas-economy.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: sc-nas-economy
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-nas-economy"
media: "ssd"
provisioningType: "thin"
snapshots: "true"
allowVolumeExpansion: true
|
|
Consulta las directrices esenciales para las opciones de configuración del backend del controlador NAS economy en la sección de arriba para ver detalles sobre los parámetros adicionales que puedes incluir en el archivo de configuración del backend para el controlador ontap-nas-economy. |
Crea un TridentBackendConfig y un StorageClass para ONTAP SAN con iSCSI para habilitar el aprovisionamiento de almacenamiento en bloques basado en iSCSI. La configuración del backend utiliza el controlador ontap-san e incluye credenciales almacenadas en un secreto de Kubernetes. El parámetro sanType usa por defecto el protocolo iSCSI si se omite.
Secreto del backend y archivo de configuración del backend con autenticación mediante nombre de usuario y contraseña (guardar como tbc-iscsi.yaml):
# tbc-iscsi.yaml
apiVersion: v1
kind: Secret
metadata:
name: backend-tbc-ontap-iscsi-secret
type: Opaque
stringData:
username: <cluster admin username>
password: <cluster admin password>
---
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: ontap-iscsi
spec:
version: 1
storageDriverName: ontap-san
managementLIF: <management LIF>
backendName: ontap-iscsi
svm: <SVM name>
credentials:
name: backend-tbc-ontap-iscsi-secret
Secreto del backend y archivo de configuración del backend usando autenticación mediante certificado de cliente (guardar como tbc-iscsi.yaml):
# tbc-iscsi.yaml
apiVersion: v1
kind: Secret
metadata:
name: backend-tbc-ontap-iscsi-secret
type: Opaque
stringData:
clientPrivateKey: <client private key>
---
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: ontap-iscsi
spec:
version: 1
storageDriverName: ontap-san
managementLIF: <management LIF>
backendName: ontap-iscsi
svm: <SVM name>
credentials:
name: backend-tbc-ontap-iscsi-secret
clientCertificate: <client certificate>
Definición de StorageClass (guarda como sc-iscsi.yaml):
# sc-iscsi.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: sc-iscsi
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-san"
media: "ssd"
provisioningType: "thin"
fsType: ext4
snapshots: "true"
allowVolumeExpansion: true
Crea un TridentBackendConfig y un StorageClass para ONTAP SAN con NVMe sobre TCP para habilitar el aprovisionamiento de almacenamiento en bloque de alto rendimiento. La configuración del backend usa el controlador ontap-san optimizado para el transporte NVMe/TCP e incluye credenciales almacenadas en un Kubernetes Secret.
Secreto del backend y archivo de configuración del backend con autenticación mediante nombre de usuario y contraseña (guardar como tbc-nvme.yaml):
# tbc-nvme.yaml
apiVersion: v1
kind: Secret
metadata:
name: backend-tbc-ontap-nvme-secret
type: Opaque
stringData:
username: <cluster admin username>
password: <cluster admin password>
---
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: backend-tbc-ontap-nvme
spec:
version: 1
storageDriverName: ontap-san
sanType: nvme
managementLIF: <ONTAP management LIF>
backendName: backend-tbc-ontap-nvme
svm: <SVM name>
credentials:
name: backend-tbc-ontap-nvme-secret
Secreto del backend y archivo de configuración del backend usando autenticación mediante certificado de cliente (guardar como tbc-nvme.yaml):
# tbc-nvme.yaml
apiVersion: v1
kind: Secret
metadata:
name: backend-tbc-ontap-nvme-secret
type: Opaque
stringData:
clientPrivateKey: <client private key>
---
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: backend-tbc-ontap-nvme
spec:
version: 1
storageDriverName: ontap-san
sanType: nvme
managementLIF: <ONTAP management LIF>
backendName: backend-tbc-ontap-nvme
svm: <SVM name>
credentials:
name: backend-tbc-ontap-nvme-secret
clientCertificate: <client certificate>
Definición de StorageClass (guarda como sc-nvme.yaml):
# sc-nvme.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: sc-nvme
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-san"
media: "ssd"
provisioningType: "thin"
fsType: ext4
snapshots: "true"
allowVolumeExpansion: true
|
|
Si planeas usar volúmenes ReadWriteMany (RWX) con el protocolo NVMe, un solo volumen NVMe RWX no puede montarse por más de 64 nodos en un clúster de Kubernetes. Para más información sobre esta limitación y sobre el modelo de supersubsistema introducido en Trident 26.02 y el modelo de subsistema por volumen anterior a Trident 26.02, consulta la documentación de Trident: https://docs.netapp.com/us-en/trident/trident-use/ontap-san-prep.html#nvme-tcp-considerations. |
Crea un TridentBackendConfig y un StorageClass para ONTAP SAN con Fibre Channel para habilitar el aprovisionamiento de almacenamiento en bloques basado en FC. La configuración del backend usa el controlador ontap-san con el protocolo FCP especificado e incluye credenciales almacenadas en un Kubernetes Secret.
Utiliza el método de autenticación con nombre de usuario y contraseña o el método de autenticación con certificado de cliente para autenticarte con ONTAP. Para ver detalles sobre cómo generar el certificado de cliente, la clave privada y el certificado de la CA, revisa "Documentación de Trident aquí". Aquí tienes ejemplos para ambos métodos.
Mostrar ejemplo
Secreto del backend y archivo de configuración del backend con autenticación mediante nombre de usuario y contraseña de ONTAP (guardar como tbc-fc.yaml):
# tbc-fc.yaml
apiVersion: v1
kind: Secret
metadata:
name: tbc-fc-secret
type: Opaque
stringData:
username: <cluster admin username>
password: <cluster admin password>
---
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: tbc-fc
spec:
version: 1
storageDriverName: ontap-san
managementLIF: <ONTAP management LIF>
backendName: tbc-fc
svm: openshift-fc #<replace with your SVM name>
sanType: fcp
storagePrefix: demofc #<replace with your prefix>
defaults:
nameTemplate: "{{ .config.StoragePrefix }}_{{ .volume.Namespace }}_{{ .volume.RequestName }}"
credentials:
name: tbc-fc-secret
Secreto del backend y archivo de configuración del backend usando autenticación mediante certificado de cliente (guardar como tbc-fc.yaml):
# tbc-fc.yaml
apiVersion: v1
kind: Secret
metadata:
name: tbc-fc-secret
type: Opaque
stringData:
clientPrivateKey: <client private key>
---
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: tbc-fc
spec:
version: 1
storageDriverName: ontap-san
managementLIF: <ONTAP management LIF>
backendName: tbc-fc
svm: openshift-fc #<replace with your SVM name>
sanType: fcp
storagePrefix: demofc #<replace with your prefix>
defaults:
nameTemplate: "{{ .config.StoragePrefix }}_{{ .volume.Namespace }}_{{ .volume.RequestName }}"
credentials:
name: tbc-fc-secret
clientCertificate: <client certificate>
# sc-fc.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: sc-fc
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-san"
media: "ssd"
provisioningType: "thin"
fsType: ext4
snapshots: "true"
allowVolumeExpansion: true
Crea un TridentBackendConfig y un StorageClass para ONTAP SAN economy con iSCSI para habilitar el aprovisionamiento de almacenamiento en bloques basado en iSCSI. La configuración del backend utiliza el controlador ontap-san-economy con el protocolo iSCSI e incluye credenciales almacenadas en un secreto de Kubernetes.
Secreto del backend y archivo de configuración del backend con autenticación mediante certificado de cliente (guardar como tbc-san-eco.yaml):
# tbc-san-eco.yaml
---
apiVersion: v1
kind: Secret
metadata:
name: ontap-san-cert-auth
namespace: trident
type: Opaque
stringData:
clientPrivateKey: <client private key>
---
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: tbc-san-eco-cert
namespace: trident
spec:
version: 1
storageDriverName: ontap-san-economy
managementLIF: "<ONTAP management LIF>"
backendName: tbc_san_eco
svm: <replace with your SVM name>
storagePrefix: <replace with your prefix>
credentials:
name: ontap-san-cert-auth
clientCertificate: <client certificate>
# sc-san-eco.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: sc-san-eco
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-san-economy"
provisioningType: "thin"
snapshots: "true"
Consulta la documentación de Trident para ver más ejemplos de archivos yaml e información sobre los modos de acceso y los modos de volumen compatibles con los controladores SAN y NAS.
Clústeres ROSA con Amazon FSx for NetApp ONTAP
Crea archivos YAML para cada protocolo que quieras configurar. Puedes configurar uno o ambos de los siguientes protocolos: NAS para almacenamiento de archivos basado en NFS o iSCSI para almacenamiento en bloques.
Crea un TridentBackendConfig y un StorageClass para Amazon FSx for NetApp ONTAP con ONTAP NAS para habilitar el aprovisionamiento de almacenamiento persistente basado en NFS en clústeres ROSA. La configuración del backend usa los nombres DNS de Amazon FSx for NetApp ONTAP para la gestión y los LIF de datos, e incluye credenciales almacenadas en un Secret de Kubernetes en el namespace de trident.
Secreto de backend y archivo de configuración de backend (guarda como tbc-fsx-nas.yaml):
# tbc-fsx-nas.yaml
apiVersion: v1
kind: Secret
metadata:
name: backend-fsx-ontap-nas-secret
type: Opaque
stringData:
username: <FSx for ONTAP, for example fsxadmin>
password: <FSx for ONTAP password>
---
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: backend-fsx-ontap-nas
spec:
version: 1
backendName: fsx-ontap
storageDriverName: ontap-nas
managementLIF: <Management DNS name>
dataLIF: <NFS DNS name>
svm: <SVM NAME>
credentials:
name: backend-fsx-ontap-nas-secret
StorageClass definición (guarda como sc-fsx-nas.yaml):
# sc-fsx-nas.yaml (storage class name is trident-csi)
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: trident-csi
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-nas"
fsType: "ext4"
allowVolumeExpansion: true
reclaimPolicy: Retain
Crea un TridentBackendConfig y un StorageClass para Amazon FSx for NetApp ONTAP con ONTAP SAN para habilitar el aprovisionamiento de almacenamiento en bloques basado en iSCSI en clústeres ROSA. La configuración del backend usa el controlador ontap-san e incluye credenciales almacenadas en un Kubernetes Secret. Asegúrate de que los nodos worker estén preparados para el acceso a iSCSI.
Secreto de backend y archivo de configuración de backend (guárdalo como tbc-fsx-iscsi.yaml):
# tbc-fsx-iscsi.yaml
apiVersion: v1
kind: Secret
metadata:
name: backend-tbc-fsx-iscsi-secret
type: Opaque
stringData:
username: <FSx for ONTAP, for example fsxadmin>
password: <FSx for ONTAP password>
---
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: fsx-iscsi
spec:
version: 1
storageDriverName: ontap-san
managementLIF: <Management DNS name>
backendName: fsx-iscsi
svm: <SVM name>
credentials:
name: backend-tbc-fsx-iscsi-secret
StorageClass definición (guarda como sc-fsx-iscsi.yaml):
# sc-fsx-iscsi.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: sc-fsx-iscsi
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-san"
media: "ssd"
provisioningType: "thin"
fsType: ext4
snapshots: "true"
allowVolumeExpansion: true
Paso 3: crea un archivo de configuración VolumeSnapshotClass
Crea una definición de VolumeSnapshotClass tanto para implementaciones locales como para ROSA. Esta configuración permite operaciones basadas en instantáneas para volúmenes persistentes.
Definición de VolumeSnapshotClass (guarda como snapshot-class.yaml):
# snapshot-class.yaml
apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshotClass
metadata:
name: trident-snapshotclass
driver: csi.trident.netapp.io
deletionPolicy: Retain
Paso 4: aplica los archivos de configuración a tu clúster
Aplica los archivos de configuración que creaste en los pasos anteriores a tu clúster OpenShift.
-
Aplica los archivos TridentBackendConfig y StorageClass para cada protocolo que configuraste.
Para clústeres locales:
oc create -f tbc-nas.yaml -n trident oc create -f sc-nas.yaml oc create -f tbc-nas-economy.yaml -n trident oc create -f sc-nas-economy.yaml oc create -f tbc-iscsi.yaml -n trident oc create -f sc-iscsi.yaml oc create -f tbc-nvme.yaml -n trident oc create -f sc-nvme.yaml oc create -f tbc-fc.yaml -n trident oc create -f sc-fc.yamlPara los clústeres ROSA:
oc create -f tbc-fsx-nas.yaml -n trident oc create -f sc-fsx-nas.yaml oc create -f tbc-fsx-iscsi.yaml -n trident oc create -f sc-fsx-iscsi.yaml -
Aplica la configuración de VolumeSnapshotClass.
oc create -f snapshot-class.yaml -
Verifica que los recursos se hayan creado correctamente.
Revisa los objetos TridentBackendConfig:
oc get tbc -n tridentComprueba los objetos de StorageClass:
oc get storageclassRevisa VolumeSnapshotClass:
oc get volumesnapshotclass
Paso 5: establece las clases predeterminadas de almacenamiento e instantáneas de Trident
Configura Trident StorageClass y VolumeSnapshotClass como los predeterminados en el clúster OpenShift. Esto es necesario para que OpenShift Virtualization cree fuentes de imágenes doradas para plantillas de máquinas virtuales.
-
Configura el StorageClass predeterminado de Trident.
Configura un StorageClass respaldado por Trident como predeterminado del clúster para que las PersistentVolumeClaims lo usen automáticamente cuando no se especifique ninguna clase de almacenamiento. Necesitas configurar dos anotaciones: una para el valor predeterminado de todo el clúster y otra específica para OpenShift Virtualization.
-
Establece la anotación predeterminada de StorageClass para todo el clúster.
Asegúrate de que solo un StorageClass esté configurado como predeterminado. Si otro StorageClass ya está configurado como predeterminado, pon su anotación en false.
En la consola, edita la anotación:
storageclass.kubernetes.io/is-default-class: "true"Desde la CLI:
kubectl patch storageclass <storage class name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}' -
Establece la anotación predeterminada específica de OpenShift Virtualization.
OpenShift Virtualization utiliza una anotación específica que tiene prioridad sobre la anotación general del clúster
is-default-class. Si otro StorageClass ya está configurado como predeterminado, pon su anotación en false.En la consola, edita la anotación:
storageclass.kubevirt.io/is-default-virt-class: "true"Desde la CLI:
kubectl patch storageclass <storage class name> -p '{"metadata": {"annotations":{"storageclass.kubevirt.io/is-default-virt-class": "true"}}}' -
-
Establece el Trident VolumeSnapshotClass predeterminado.
Establece un VolumeSnapshotClass respaldado por Trident como el predeterminado del clúster para habilitar operaciones basadas en instantáneas para volúmenes persistentes. Esto asegura que VolumeSnapshots use automáticamente el controlador CSI de Trident cuando no se especifica ninguna clase de instantánea y permite que OpenShift Virtualization cree instantáneas de imágenes doradas.
Asegúrate de que solo un VolumeSnapshotClass esté configurado como predeterminado. Si ya hay otro VolumeSnapshotClass configurado como predeterminado, pon su anotación en false.
En la consola, edita la anotación:
snapshot.storage.kubernetes.io/is-default-class: "true"Desde la CLI:
oc patch volumesnapshotclass <snapshot class name> --type=merge -p '{"metadata":{"annotations":{"snapshot.storage.kubernetes.io/is-default-class":"true"}}}'