Habilitar el restablecimiento detallado


En esta página, se describe cómo seleccionar recursos para la restauración con mayor granularidad.

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 necesaria para ajustar el alcance del restablecimiento definido en el plan de restablecimiento principal. Si el alcance de restablecimiento detallado no se superpone con el alcance original definido en el plan de restablecimiento principal, no se restablecerá ningún recurso.

La función de restablecimiento detallado se puede habilitar para los planes de restablecimiento con modos de administración de conflictos a nivel de recurso individual:

  • Combinar y saltar
  • Combinar y reemplazar
  • Combinar y reemplazar volumen

Si tus planes de restablecimiento usan modos de administración de conflictos a nivel del espacio de nombres o de ProtectedApplication, como Falla debido a un conflicto o Revierte, y deseas habilitar el restablecimiento detallado, debes actualizar tu plan de restablecimiento para usar los modos compatibles o crear un plan de restablecimiento nuevo. Para obtener más información sobre los modos de restablecimiento, consulta Cómo controlar 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 restablecerlos o restablecer todos los recursos, excepto un subconjunto. Puedes definir filtros de inclusión y exclusión de forma simultánea. Si se usan filtros de inclusión, solo se restablecerán los recursos que coincidan con esos filtros. Si se usan filtros de exclusión, se excluyen los recursos coincidentes del proceso de restauración. Cuando se especifican filtros de inclusión y exclusión, primero se aplican los filtros de inclusión y, luego, los 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 principal.

Hay 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.
  • Espacio de nombres: Es el espacio de nombres para los recursos con permiso de espacio de nombres.
  • Nombre del recurso: Es el nombre del recurso.
  • Etiquetas: 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 como AND. Se selecciona un recurso 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 las diferentes condiciones de filtro son OR. Se selecciona un recurso si coincide con alguna condición de filtro de todas las proporcionadas.

Antes de comenzar

Planifica un conjunto de restablecimientos.

Crea un restablecimiento con un filtro de restablecimiento detallado

gcloud

  1. Crea un archivo YAML o JSON con filtros de restauración 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
    
  2. Crea una restauración con el archivo de filtro de restauración detallada 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: Es el ID de tu proyecto de Google Cloud .
    • LOCATION: Es la región de procesamiento del plan de restablecimiento principal.
    • 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 ubicada en el plan de copia de seguridad al que hace referencia el plan de restablecimiento principal como projects/PROJECT_ID/locations/LOCATION/backupPlans/BACKUP_PLAN/backups/BACKUP

    • FILTER_FILE: Es la ruta de acceso a tus filtros de restauración detallados.

    Para ver la lista completa de opciones, consulta la documentación de gcloud beta container backup-restore restores create.

Console

Sigue estas instrucciones para crear un restablecimiento detallado en la consola de Google Cloud :

  1. En la consola de Google Cloud , ve a la página Google Kubernetes Engine.

    Ir a Google Kubernetes Engine

  2. En el menú de navegación, haz clic en Copia de seguridad para GKE.

  3. Haz clic en la pestaña Copias de seguridad.

  4. En la lista de copias de seguridad, selecciona la que deseas restablecer y haz clic en Set up a restore.

  5. Elige un plan de restablecimiento de la lista de planes que se aplican a esta copia de seguridad.

  6. Ingresa un Nombre y una Descripción opcional para el restablecimiento.

  7. Haz clic en la casilla de verificación Habilitar el restablecimiento detallado.

  8. En la sección Filtros de inclusión o Filtros de exclusión, haz clic en Agregar condición de filtro.

  9. En Restaurar condición de filtro, define la condición y haz clic en Guardar cambios.

  10. Si deseas agregar más condiciones, vuelve a hacer clic en Agregar condiciones de filtro.

  11. 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 en las instrucciones paso a paso para 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

  1. Habilita el restablecimiento detallado como lo hiciste en el procedimiento Crea un restablecimiento con el filtro de restablecimiento detallado.
  2. En la sección Filtros de inclusión, haz clic en Agregar condición de filtro.
  3. En el campo Nombre del recurso, ingresa nginx-vars.
  4. En el campo Espacio de nombres, ingresa webserver.
  5. En el campo Tipo de objeto, ingresa ConfigMap.
  6. Haz clic en Guardar cambios.

Cómo excluir un solo recurso con permiso de clúster

En este ejemplo, se restablecen todos los recursos disponibles, excepto un GroupKind de recurso storage.k8s.io/StorageClass con el nombre sc1, usando el restablecimiento detallado ExclusionFilters para excluir el recurso.

gcloud

exclusionFilters:
- groupKind:
    resourceGroup: storage.k8s.io
    resourceKind: StorageClass
  name: sc1

Console

  1. Habilita el restablecimiento detallado como lo hiciste en el procedimiento Crea un restablecimiento con el filtro de restablecimiento detallado.
  2. En la sección Filtros de exclusión, haz clic en Agregar condición de filtro.
  3. En el campo Nombre del recurso, ingresa sc1.
  4. En el campo Grupo de APIs, ingresa storage.k8s.io.
  5. En el campo Tipo de objeto, ingresa StorageClass.
  6. Haz clic en Guardar cambios.

Restablece 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

  1. Habilita el restablecimiento detallado como lo hiciste en el procedimiento Crea un restablecimiento con el filtro de restablecimiento detallado.
  2. En la sección Filtros de inclusión, haz clic en Agregar condición de filtro.
  3. En la sección Etiquetas, haz lo siguiente:

    1. Haz clic en Agregar etiqueta.
    2. En el campo Clave 1, ingresa key1.
    3. En el campo Valor 1, ingresa value1.
    4. Haz clic en Agregar etiqueta.
    5. En el campo Clave 2, ingresa key2.
    6. En el campo Valor 2, ingresa value2.
  4. Haz clic en Guardar cambios.

Excluye todos los recursos de algunos GroupKinds

En este ejemplo, se restablecen todos los recursos disponibles, excepto GroupKind ConfigMap y storage.k8s.io/StorageClass, con la restauración detallada ExclusionFilters para excluir estos dos GroupKinds.

gcloud

exclusionFilters:
- groupKind:
    resourceKind: ConfigMap
- groupKind:
    resourceGroup: storage.k8s.io
    resourceKind: StorageClass

Console

  1. Habilita el restablecimiento detallado como lo hiciste en el procedimiento Crea un restablecimiento con el filtro de restablecimiento detallado.
  2. En la sección Filtros de exclusión, haz clic en Agregar condición de filtro.
    1. En el campo Tipo de objeto, ingresa ConfigMap.
    2. Haz clic en Guardar cambios.
  3. En la sección Filtros de exclusión, haz clic en Agregar condición de filtro.
    1. En el campo Grupo de APIs, ingresa storage.k8s.io.
    2. En el campo Tipo de objeto, ingresa StorageClass.
    3. Haz clic en Guardar cambios.