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) con air gap.

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

Antes de empezar

Para crear una restauración granular de una copia de seguridad, debe tener lo siguiente:

  • Una copia de seguridad. Para obtener más información, consulta Planificar un conjunto de copias de seguridad.
  • El rol de identidad y acceso necesario:

    • Para los usuarios de PA:
      • Administrador de copias de seguridad de clústeres de usuarios: gestiona recursos de copia de seguridad, como copias de seguridad y planes de restauración, en clústeres de usuarios. Pídele al administrador de gestión de identidades y accesos de tu organización que te conceda el rol de administrador de copias de seguridad de clústeres de usuarios (user-cluster-backup-admin).
    • Para los usuarios de la API Orders:
      • Creador de copias de seguridad: crea copias de seguridad manuales y las restaura. Pídele al administrador de gestión de identidades y accesos de tu proyecto que te conceda el rol Creador de copias de seguridad (backup-creator).
    • Para obtener más información, consulta Definiciones de roles.

Crear una restauración granular

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 ManualRestoreRequest recurso personalizado para planificar restauraciones a partir de un 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 quieras crear.
  • PROJECT_NAMESPACE: el nombre de tu proyecto de GDC.
  • RESTORE_PLAN: el nombre del plan de restauración del que 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 copias de seguridad al que hace referencia el plan de restauración. Para obtener más información, consulta Planificar un conjunto de restauraciones.
  • FINE_GRAINED_RESTORE_FILTER: los filtros de restauración detallada. Para ver ejemplos, consulta Ejemplos de filtros de restauración detallada.

Ejemplos de filtros de restauración detallada

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

Restaurar un solo 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 ello, se usa la restauración detallada inclusionFilters para seleccionar el recurso. 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 solo 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 exclusionFilters detallada.

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 ello, se usa la restauración detallada inclusionFilters para seleccionar los recursos.

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, mediante la restauración granular exclusionFilters para excluir estos dos GroupKinds.

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

Siguientes pasos