Crear una restauración granular

En esta página se describe cómo crear una restauración detallada de una copia de seguridad en Google Distributed Cloud (GDC) air-gapped.

La función de restauración detallada te permite restaurar un subconjunto de recursos a partir de una copia de seguridad. Esta función ofrece la flexibilidad de ajustar el ámbito de restauración definido en el plan de restauración.

Antes de empezar

Para crear una restauración detallada de una copia de seguridad, debes tener lo siguiente:

  • Una copia de seguridad. Para obtener más información, consulta el artículo Planificar un conjunto de copias de seguridad.
  • El rol de gestión de identidades y accesos necesario:

    • Para usuarios de PA:
      • Administrador de copias de seguridad de clústeres de usuarios: gestiona recursos de copia de seguridad, como planes de copia de seguridad y restauración en clústeres de usuarios. Pídele a tu administrador de gestión de identidades y accesos de la organización que te asigne el rol de administrador de copias de seguridad de clústeres de usuarios (user-cluster-backup-admin).
    • Para usuarios de AO:
      • Creador de copias de seguridad: crea copias de seguridad y restauraciones manuales. Pídele a tu administrador de gestión de identidades y accesos del proyecto que te asigne el rol de creador de copias de seguridad (backup-creator).
    • Para obtener más información, consulta el artículo Definiciones de roles.

Crear una restauración detallada

Para crear una restauración con un filtro detallado, sigue estos pasos:

  1. Crea los filtros de restauración detallada. Puedes usar el siguiente ejemplo de YAML.

    inclusionFilters:
      - groupKind:
          group: foo.io
          kind: Bar
        name: name1
        namespace: ns1
    exclusionFilters:
      - labels:
          key1: value1
          key2: value2
    
  2. Crea un recurso personalizado ManualRestoreRequest para planificar restauraciones a partir de un recurso Backups. A continuación, se muestra un ejemplo de ManualRestoreRequest:

    apiVersion: backup.gdc.goog/v1
    kind: ManualRestoreRequest
    metadata:
      name: RESTORE_NAME
      namespace: PROJECT_NAMESPACE
    spec:
      restoreName: RESTORE_NAME
      restorePlanName: RESTORE_PLAN
      backupName: BACKUP_NAME
      filter:
        FINE_GRAINED_RESTORE_FILTERS
    

Haz los cambios siguientes:

  • RESTORE_NAME: el nombre de la restauración que quieres crear.
  • PROJECT_NAMESPACE: el nombre de tu proyecto de GDC.
  • RESTORE_PLAN: el nombre del plan de restauración del que se deriva esta restauración.
  • BACKUP_NAME: la copia de seguridad que se va a restaurar. Esta copia de seguridad debe estar asociada al plan de copia de seguridad al que hace referencia el plan de restauración. Para obtener más información, consulta el artículo Planificar un conjunto de restauraciones.
  • FINE_GRAINED_RESTORE_FILTER: los filtros de restauración detallada. Para ver ejemplos, consulta el artículo Ejemplos de filtros de restauración detallada examples.

Ejemplos de filtros de restauración detallada

Los siguientes ejemplos se proporcionan en el formato YAML que usa la CLI de Google Cloud.

Restaurar un recurso con permisos de espacio de nombres

En este ejemplo, se restaura un recurso ConfigMap con el nombre nginx-vars en el espacio de nombres webserver. Para seleccionar el recurso, se usa la restauración detallada inclusionFilters. Si quieres elegir recursos del grupo principal, usa una cadena vacía en el campo group.

filter:
  inclusionFilters:
  - groupKind:
      kind: ConfigMap
    name: nginx-vars
    namespace: webserver

Excluir un recurso con permisos de clúster

En este ejemplo, se restauran todos los recursos disponibles, excepto un recurso groupKind con el nombre sc1. Para excluir el recurso, se usa la restauración detallada exclusionFilters.

filter:
  exclusionFilters:
  - groupKind:
      group: storage.k8s.io
      kind: StorageClass
    name: sc1

Restaurar recursos con dos etiquetas

En este ejemplo, se restauran los recursos que tienen las etiquetas key1:value1 y key2:value2. Para seleccionar los recursos, se usa la restauración detallada inclusionFilters.

filter:
  inclusionFilters:
  - labels:
      key1: value1
      key2: value2

Excluir todos los recursos de algunos GroupKinds

En este ejemplo, se restauran todos los recursos disponibles, excepto los recursos groupKind de ConfigMap y storage.k8s.io/StorageClass. Para excluir estos dos GroupKinds, se usa la restauración detallada exclusionFilters.

filter:
  exclusionFilters:
  - groupKind:
      kind: ConfigMap
  - groupKind:
      group: storage.k8s.io
      kind: StorageClass

Siguientes pasos