En esta página, se describe cómo seleccionar recursos para la restauración con mayor nivel de detalle.
Descripción general
La función de restablecimiento detallado te permite restablecer un subconjunto de recursos desde una copia de seguridad. La función de restablecimiento detallado proporciona la flexibilidad para definir mejor el alcance del restablecimiento definido en el plan de restablecimiento superior. Si el permiso de restauración detallado no se superpone con el permiso original definido en el plan de restauración superior, no se restablecerán los recursos.
La función de restablecimiento detallado se puede habilitar para los planes de restablecimiento con modos de administración de conflictos a nivel de recursos individuales:
- Combinar y saltar
- Combinar y reemplazar
- Combinar y reemplazar volumen
Si tus planes de restablecimiento usan modos de manejo de conflictos a nivel de espacio de nombres o ProtectedApplication, como Falla debido a un conflicto o Rollback, y deseas habilitar el restablecimiento detallado, debes actualizar tu plan de restablecimiento para usar los modos compatibles o crear uno nuevo. Para obtener más información sobre los modos de restablecimiento, consulta Cómo controlar los conflictos de recursos durante el restablecimiento.
Para usar el restablecimiento detallado, puedes definir una o más condiciones de filtro en los filtros de inclusión y exclusión. Puedes seleccionar un subconjunto específico de recursos de la copia de seguridad para restablecerlo o restablecer todos los recursos, excepto un subconjunto. Puedes definir los filtros de inclusión y exclusión de forma simultánea. Si se usan filtros de inclusión, solo se restablecen los recursos que coinciden con esos filtros. Si se usan filtros de exclusión, se excluyen los recursos coincidentes del proceso de restablecimiento. Cuando se especifican los filtros de inclusión y exclusión, los primeros se aplican primero, seguidos de los filtros de exclusión. Esto significa que los filtros de exclusión tienen prioridad sobre los filtros de inclusión. Si no se especifican filtros, el restablecimiento se realiza en todo el alcance definido en el plan de restablecimiento superior.
Existen cuatro atributos opcionales cuando se construye una condición de filtro:
- GroupKind: Es el grupo y el tipo de la API de Kubernetes para el recurso.
- Namespace: Es el espacio de nombres para los recursos con permiso de espacio de nombres.
- Nombre del recurso: Es el nombre del recurso.
- Etiquetas: Son los pares clave-valor para seleccionar recursos según las etiquetas de Kubernetes.
Puedes usar una combinación de los cuatro atributos anteriores para definir una condición de filtro. Si se especifica más de un atributo, las relaciones entre los atributos se consideran AND
. Un recurso se selecciona si coincide con todos los atributos definidos en la condición del filtro. También puedes proporcionar varias condiciones de filtro al mismo tiempo. Las relaciones entre diferentes condiciones de filtro son OR
. Se selecciona un recurso si coincide con cualquier condición de filtro de todos los proporcionados.
Antes de comenzar
Planifica un conjunto de restablecimientos.
Crea un restablecimiento con un filtro de restablecimiento detallado
gcloud
Crea un archivo YAML o JSON con filtros de restablecimiento detallados. Puedes usar el siguiente ejemplo de YAML.
exclusionFilters: - groupKind: resourceGroup: foo.io resourceKind: Bar name: name1 namespace: ns1 inclusionFilters: - labels: key1: value1 key2: value2
Crea un restablecimiento con el archivo de filtro de restablecimiento detallado que creaste.
gcloud beta container backup-restore restores create RESTORE \ --project=PROJECT_ID \ --location=LOCATION \ --restore-plan=RESTORE_PLAN \ --backup=BACKUP \ --filter-file=FILTER_FILE
Reemplaza lo siguiente:
RESTORE
: Es el nombre del restablecimiento que deseas crear.PROJECT_ID
: El ID de tu proyecto de Google Cloud .LOCATION
: Es la región de procesamiento del plan de restablecimiento superior.RESTORE_PLAN
: el nombre del plan de restablecimiento superior del que deriva el restablecimiento.BACKUP
: Es la copia de seguridad que se debe restablecer. Debe estar ubicado en el plan de copia de seguridad al que hace referencia el plan de restablecimiento superior comoprojects/PROJECT_ID/locations/LOCATION/backupPlans/BACKUP_PLAN/backups/BACKUP
FILTER_FILE
: Es la ruta de acceso de tus filtros de restablecimiento detallados.
Para ver la lista completa de opciones, consulta la documentación de
gcloud beta container backup-restore restores create
.
Console
Usa las siguientes instrucciones para crear un restablecimiento detallado en la consola de Google Cloud :
En la consola de Google Cloud , ve a la página Google Kubernetes Engine.
En el menú de navegación, haz clic en Copia de seguridad para GKE.
Haz clic en la pestaña Copias de seguridad.
En la lista de copias de seguridad, selecciona la que deseas restablecer y haz clic en Set up a restore.
Elige un plan de restablecimiento de la lista de planes que se aplican a esta copia de seguridad.
Ingresa un Nombre y una Descripción opcional para el restablecimiento.
Haz clic en la casilla de verificación Habilitar el restablecimiento detallado.
En la sección Filtros de inclusión o Filtros de exclusión, haz clic en Agregar condición de filtro.
En Restaurar condición del filtro, define la condición y haz clic en Guardar cambios.
Si deseas agregar más condiciones, vuelve a hacer clic en Agregar condiciones de filtro.
Haz clic en Restore.
Ejemplos de archivos de filtro de restablecimiento detallado
Los siguientes ejemplos se proporcionan en el formato YAML que usa Google Cloud CLI o las instrucciones paso a paso de la consola de Google Cloud .
Restablece un solo recurso con permiso de espacio de nombres
En este ejemplo, se restablece un tipo de recurso ConfigMap
con el nombre nginx-vars
en el espacio de nombres webserver
, con el restablecimiento detallado InclusionFilters
para seleccionar el recurso. Si deseas elegir recursos en el grupo core
, usa una cadena vacía para resourceGroup
.
gcloud
inclusionFilters:
- groupKind:
resourceKind: ConfigMap
name: nginx-vars
namespace: webserver
Console
- Habilita el restablecimiento detallado como lo hiciste en el procedimiento Cómo crear un restablecimiento con filtro de restablecimiento detallado.
- En la sección Filtros de inclusión, haz clic en Agregar condición de filtro.
- En el campo Nombre del recurso, ingresa
nginx-vars
. - En el campo Espacio de nombres, ingresa
webserver
. - En el campo Tipo de objeto, ingresa
ConfigMap
. - Haz clic en Guardar cambios.
Excluye un solo recurso con permiso de clúster
En este ejemplo, se restablecen todos los recursos disponibles, excepto un recurso GroupKind storage.k8s.io/StorageClass
con el nombre sc1
, con el restablecimiento detallado ExclusionFilters
para excluir el recurso.
gcloud
exclusionFilters:
- groupKind:
resourceGroup: storage.k8s.io
resourceKind: StorageClass
name: sc1
Console
- Habilita el restablecimiento detallado como lo hiciste en el procedimiento Cómo crear un restablecimiento con filtro de restablecimiento detallado.
- En la sección Filtros de exclusión, haz clic en Agregar condición de filtro.
- En el campo Nombre del recurso, ingresa
sc1
. - En el campo Grupo de API, ingresa
storage.k8s.io
. - En el campo Tipo de objeto, ingresa
StorageClass
. - Haz clic en Guardar cambios.
Cómo restablecer recursos con dos etiquetas
En este ejemplo, se restablecen los recursos que tienen las etiquetas key1:value1
y key2:value2
con el restablecimiento detallado InclusionFilters
para seleccionar los recursos.
gcloud
inclusionFilters:
- labels:
key1: value1
key2: value2
Console
- Habilita el restablecimiento detallado como lo hiciste en el procedimiento Cómo crear un restablecimiento con filtro de restablecimiento detallado.
- En la sección Filtros de inclusión, haz clic en Agregar condición de filtro.
En la sección Etiquetas, haz lo siguiente:
- Haz clic en Agregar etiqueta.
- En el campo Clave 1, ingresa
key1
. - En el campo Valor 1, ingresa
value1
. - Haz clic en Agregar etiqueta.
- En el campo Clave 2, ingresa
key2
. - En el campo Valor 2, ingresa
value2
.
Haz clic en Guardar cambios.
Excluye todos los recursos de algunos GroupKinds
En este ejemplo, se restablecen todos los recursos disponibles, excepto los de GroupKind ConfigMap
y storage.k8s.io/StorageClass
, con el ExclusionFilters
de restablecimiento detallado para excluir estos dos GroupKinds.
gcloud
exclusionFilters:
- groupKind:
resourceKind: ConfigMap
- groupKind:
resourceGroup: storage.k8s.io
resourceKind: StorageClass
Console
- Habilita el restablecimiento detallado como lo hiciste en el procedimiento Cómo crear un restablecimiento con un filtro de restablecimiento detallado.
- En la sección Filtros de exclusión, haz clic en Agregar condición de filtro.
- En el campo Tipo de objeto, ingresa
ConfigMap
. - Haz clic en Guardar cambios.
- En el campo Tipo de objeto, ingresa
- En la sección Filtros de exclusión, haz clic en Agregar condición de filtro.
- En el campo Grupo de API, ingresa
storage.k8s.io
. - En el campo Tipo de objeto, ingresa
StorageClass
. - Haz clic en Guardar cambios.
- En el campo Grupo de API, ingresa