Habilitar el restablecimiento detallado


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

  1. 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
    
  2. 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 como projects/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 :

  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 del 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 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

  1. Habilita el restablecimiento detallado como lo hiciste en el procedimiento Cómo crear un restablecimiento con 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.

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

  1. Habilita el restablecimiento detallado como lo hiciste en el procedimiento Cómo crear un restablecimiento con 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 API, ingresa storage.k8s.io.
  5. En el campo Tipo de objeto, ingresa StorageClass.
  6. 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

  1. Habilita el restablecimiento detallado como lo hiciste en el procedimiento Cómo crear un restablecimiento con 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 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

  1. Habilita el restablecimiento detallado como lo hiciste en el procedimiento Cómo crear un restablecimiento con un 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 API, ingresa storage.k8s.io.
    2. En el campo Tipo de objeto, ingresa StorageClass.
    3. Haz clic en Guardar cambios.