Configuración avanzada de restauración para Kubernetes en NetApp Backup and Recovery
Utiliza anotaciones, configuraciones de espacios de nombres y opciones de almacenamiento para personalizar las operaciones de restauración de Kubernetes según tu entorno.
Anotaciones y etiquetas de namespace durante las operaciones de restauración y conmutación por error
Durante la restauración y la conmutación por error, las etiquetas y anotaciones del espacio de nombres de destino se actualizan para que coincidan con las del origen: las claves del origen se añaden a las claves de destino o las sobrescriben, mientras que las claves que solo existen en el destino no se modifican.
|
|
En Red Hat OpenShift, las anotaciones de espacio de nombres son importantes porque garantizan que los pods restaurados reciban las restricciones y permisos de contexto de seguridad correctos, lo que les permite acceder a los volúmenes y ejecutarse sin errores de permisos. Para más información, consulta "OpenShift documentación de restricciones de contexto de seguridad". |
Establece la variable de entorno de Kubernetes
RESTORE_SKIP_NAMESPACE_ANNOTATIONS
antes de la restauración o conmutación por error para evitar que se sobrescriban anotaciones específicas del espacio de nombres de destino. Por ejemplo:
helm upgrade trident-protect -n trident-protect netapp-trident-protect/trident-protect \
--set-string restoreSkipNamespaceAnnotations="{<annotation_key_to_skip_1>,<annotation_key_to_skip_2>}" \
--reuse-values
|
|
Durante la restauración o conmutación por error, las anotaciones y etiquetas de espacios de nombres especificadas en restoreSkipNamespaceAnnotations y restoreSkipNamespaceLabels se excluyen de la operación de restauración o conmutación por error. Asegúrate de que estos ajustes se configuren durante la instalación inicial de Helm. Para obtener más información, consulta "Configura los ajustes adicionales del helm chart de Trident Protect".
|
Si utilizaste Helm con el indicador --create-namespace para instalar la aplicación de origen, Trident Protect copia la etiqueta del nombre al espacio de nombres de destino. Si el valor de la etiqueta coincide con el nombre del espacio de nombres de origen, se reemplaza por el nombre del espacio de nombres de destino; si no, se deja igual.
Ejemplo
El siguiente ejemplo muestra los espacios de nombres de origen y destino con diferentes etiquetas y anotaciones, y muestra el espacio de nombres de destino antes y después de la operación para ilustrar cómo se añaden, fusionan o sobrescriben las claves.
Antes de la operación de restauración o conmutación por error
La siguiente tabla ilustra el estado de los espacios de nombres de origen y destino de ejemplo antes de la operación de restauración o conmutación por error:
| Espacio de nombres | Anotaciones | Etiquetas |
|---|---|---|
Namespace ns-1 (fuente) |
|
|
Namespace ns-2 (destino) |
|
|
Después de la operación de restauración
La siguiente tabla ilustra el estado del espacio de nombres de destino de ejemplo después de la operación de restauración o conmutación por error. Se han añadido algunas claves, se han sobrescrito otras y la etiqueta name se ha actualizado para que coincida con el espacio de nombres de destino:
| Espacio de nombres | Anotaciones | Etiquetas |
|---|---|---|
Namespace ns-2 (destino) |
|
|
Campos compatibles
Esta sección describe los campos adicionales para las operaciones de restauración.
Asignación de clases de almacenamiento
El spec.storageClassMapping atributo asigna una clase de almacenamiento de la aplicación de origen a una nueva clase de almacenamiento en el clúster de destino. Utiliza este campo al migrar aplicaciones entre clústeres con clases de almacenamiento diferentes o al cambiar el backend de almacenamiento para operaciones de BackupRestore.
Ejemplo:
storageClassMapping:
- destination: "destinationStorageClass1"
source: "sourceStorageClass1"
- destination: "destinationStorageClass2"
source: "sourceStorageClass2"
Anotaciones compatibles
En esta sección se enumeran las anotaciones compatibles para configurar diversos comportamientos del sistema. Si no estableces explícitamente una anotación, el sistema usa el valor predeterminado.
| Anotación | Tipo | Descripción | Valor predeterminado |
|---|---|---|---|
protect.trident.netapp.io/data-mover-timeout-sec |
cadena |
El tiempo máximo, en segundos, que una operación de data mover puede permanecer bloqueada. |
"300" |
protect.trident.netapp.io/kopia-content-cache-size-limit-mb |
cadena |
El límite de tamaño máximo (en megabytes) para la caché de contenido de Kopia. |
"1000" |
protect.trident.netapp.io/pvc-bind-timeout-sec |
cadena |
Tiempo máximo (en segundos) para esperar a que cualquier PersistentVolumeClaims (PVCs) recién creado alcance la fase |
"1200" (20 minutos) |