Planificar un conjunto de restauraciones

En esta página se describe cómo crear, editar y eliminar un plan de restauración en Google Distributed Cloud (GDC) air-gapped.

Los planes de restauración son escenarios de restauración preconfigurados para una línea de copias de seguridad correspondiente. Los planes de restauración pueden asignar permisos a los usuarios con el rol de creador de copias de seguridad para que puedan usar estas configuraciones.

Los creadores de copias de seguridad pueden restaurar una copia de seguridad de forma rápida e independiente cuando se produce un incidente. Por ejemplo, los datos persistentes pueden dañarse debido a una actualización de software en una aplicación desplegada, lo que hace que el espacio de nombres de la aplicación pase a un estado no válido que requiere una restauración.

Durante la restauración, puedes aplicar opcionalmente un conjunto de reglas de sustitución que se utilizan para que coincidan con un conjunto de recursos y sustituir el valor actual de un atributo de esos recursos por un valor nuevo. Por ejemplo, una regla de sustitución puede cambiar el espacio de nombres de los recursos de los que se ha hecho una copia de seguridad durante la restauración para migrar una carga de trabajo de un espacio de nombres a otro.

Antes de empezar

Para crear un plan de restauración, debes tener lo siguiente:

  • El rol de identidad y acceso necesario:

    • 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 al administrador de IAM de tu organización que te asigne el rol de administrador de copias de seguridad de clústeres de usuarios (user-cluster-backup-admin). Para obtener más información, consulta el artículo Definiciones de roles.
    • Si eres un operador de aplicaciones, pídele a tu administrador que tenga privilegios de administrador de copias de seguridad de clústeres de usuarios que cree un plan de restauración por ti.

Crear un plan de restauración

Crea un plan de restauración con la consola de GDC o la API.

Consola

  1. Inicia sesión en la consola de GDC.
  2. En el menú de navegación, haz clic en Copia de seguridad de clústeres.
  3. Haz clic en Crear plan de restauración.
  4. En la sección Conceptos básicos del plan de restauración, sigue estos pasos y haz clic en Siguiente:
    1. En Nombre del plan de restauración, introduce el nombre del plan de restauración.
    2. (Opcional) En Descripción del plan de restauración , introduce una descripción del plan de restauración.
    3. En la lista Clúster de origen, elige el clúster de origen del plan de restauración.
    4. En la lista Proyecto, elige el proyecto del plan de restauración.
    5. Selecciona el proyecto que está asociado al clúster de origen.
    6. En el campo Plan de copia de seguridad, elige un plan de copia de seguridad para un clúster que ya tengas y que corresponda a las copias de seguridad que quieras restaurar.
    7. En el campo Clúster de destino, elige el clúster de destino en el que quieras restaurar la copia de seguridad.
  5. En la sección Elegir recursos con espacios de nombres, sigue estos pasos y haz clic en Siguiente:
    1. Elige los espacios de nombres que quieras restaurar:
      1. Haz clic en Recursos con espacios de nombres seleccionados para especificar los espacios de nombres de la copia de seguridad que quieras restaurar.
        1. Haz clic en Editar espacios de nombres del clúster y, a continuación, en Añadir espacio de nombres del clúster para introducir un espacio de nombres.
      2. Haz clic en Aplicaciones protegidas seleccionadas para añadir recursos especificando el espacio de nombres y el nombre de la aplicación.
    2. Elige cómo quieres gestionar los conflictos:
      1. Haz clic en Fallar en caso de conflicto (no destructivo) para que la restauración falle si alguno de los espacios de nombres que se van a restaurar de una copia de seguridad ya existe en el clúster de destino.
      2. Haz clic en Restaurar (destructivo) para eliminar los espacios de nombres que ya tengas antes de restaurar los nuevos si alguno de los espacios de nombres que se van a restaurar de una copia de seguridad ya existe en el clúster de destino.
    3. Elige cómo quieres restaurar los datos de volumen:
      1. Haz clic en Aprovisionar volúmenes nuevos y restaurar datos de volumen a partir de la copia de seguridad para restaurar los datos de volumen de la copia de seguridad en un disco persistente nuevo.
      2. Haz clic en No restaurar datos de volumen para aprovisionar un volumen persistente nuevo. Si el clúster de destino contiene un volumen persistente no enlazado que cumple los requisitos de PersistentVolumeClaim, el clúster se enlaza al volumen.
      3. Haz clic en Reutilizar volúmenes que ya tengan tus datos para no restaurar los datos de copia de seguridad de volumen. Todos los PersistentVolumeClaims se enlazan a volúmenes que hacen referencia a discos persistentes que ya tengas.
  6. Opcional: En la sección Elegir recursos con permisos de clúster, sigue estos pasos y haz clic en Siguiente:
    1. Haz clic en No restaurar recursos con permisos de clúster para dejar la versión del recurso que ya tengas sin modificar.
    2. Haz clic en Restaurar recursos con permisos de clúster por GroupKind para restaurar estos recursos.
      1. Haz clic en Editar GroupKinds para añadir más recursos con permisos de clúster. Introduce el grupo de APIs y el tipo de objeto para que coincidan con los recursos de esos tipos.
    3. Haz clic en Conservar recursos que ya tengas para crear recursos si no existen en el clúster de destino.
    4. Haz clic en Sobrescribir recursos en el clúster de destino para eliminar un recurso si ya existe en el clúster de destino y restaurar la copia de la copia de seguridad.
  7. Opcional: En la sección Añadir reglas de sustitución, sigue estos pasos y haz clic en Siguiente :
    1. Haz clic en Añadir regla.
    2. En el cuadro Espacios de nombres del clúster, escribe una lista de espacios de nombres para que coincidan con los recursos de esos espacios de nombres.
    3. Para añadir GroupKinds, haz clic en Añadir GroupKind e introduce el grupo de APIs y el tipo de objeto para que coincidan con los recursos de esos tipos.
    4. En el campo Ruta JSON, escribe la ruta JSON que identifica los campos de los recursos coincidentes a los que se aplica la sustitución.
    5. En el campo Patrón del valor original, escribe el patrón original con el que se comparará el valor nuevo.
    6. En el campo Valor nuevo, escribe el valor nuevo que sustituye al valor actual de los atributos coincidentes.
    7. Haz clic en Guardar.
  8. Haz clic en Crear.

API

Crea un recurso personalizado ClusterRestorePlan para planificar restauraciones a partir de un ClusterBackupPlan que ya tengas. El ClusterRestorePlan asigna el conjunto exacto de recursos y espacios de nombres que un creador de copias de seguridad puede restaurar. A continuación, se muestra un ejemplo de ClusterRestorePlan:

apiVersion: backup.gdc.goog/v1
kind: ClusterRestorePlan
metadata:
  name: RESTORE_PLAN_NAME
  namespace:  PROJECT_NAME
spec:
  targetCluster:
    targetClusterType: UserCluster
    targetClusterName:
      kind: "Cluster"
      name: CLUSTER_NAME
  description: RESTORE_PLAN_DESCRIPTION
  clusterBackupPlanName: CLUSTER_BACKUP_PLAN_NAME
  clusterRestoreConfig:
    volumeDataRestorePolicy: RestoreVolumeDataFromBackup
    clusterResourceConflictPolicy: UseBackupVersion
    namespacedResourceRestoreMode: DeleteAndRestore
    namespacedResourceRestoreScope:
      selectedNamespaces:
        namespaces: [NAME_SPACE]
    clusterBackupRepositoryRef: CLUSTER_BACKUP_REPOSITORY
    substitutionRules:
      - newValue: NEW_CONFIG_VALUE
        originValuePattern: VALUE_PATTERN
        target:
          groupKinds:
          jsonPath: '{.metadata.name}'
          namespaces:
          - NAME_SPACE
      - newValue: NEW_CONFIG_VALUE
        originValuePattern: VALUE_PATTERN
        target:
          groupKinds:
          jsonPath: '{.metadata.name}'
          namespaces:
          - NAME_SPACE

Haz los cambios siguientes:

  • Sustituye RESTORE_PLAN_NAME por el nombre de tu plan de restauración.
  • Sustituye PROJECT_NAME por el nombre de tu proyecto de GDC.
  • Sustituye CLUSTER_NAME por el nombre de tu clúster.

En este ejemplo se usan los siguientes valores:


Valor

Atributo

Descripción
targetClusterName Nombre del clúster de origen de un proyecto al que está asociado este plan.
description Descripción proporcionada por el usuario para el ClusterRestorePlan.
clusterBackupPlanName Nombre del ClusterBackupPlan que se va a restaurar. El ClusterBackupPlan debe existir en el mismo espacio de nombres que el ClusterRestorePlan.
clusterRestoreConfig Configuración del proceso de restauración.
volumeDataRestorePolicy Especifica una de las siguientes opciones:
  • NoVolumeDataRestoration: no se restauran los PV/PVCs.
  • RestoreVolumeDataFromBackup: se crean PVs y PVCs nuevos a partir de la copia de seguridad.
  • ReuseVolumeHandleFromBackup: no crea PVs nuevos, pero intenta restaurar los PVCs usando sus PVs originales. Está pensado para restaurar en el mismo clúster del que se ha tomado la copia de seguridad.
clusterResourceConflictPolicy Especifica el comportamiento para gestionar los conflictos de recursos de clúster, por ejemplo, si el recurso ya existe en el clúster. Especifica una de:
  • UseExistingVersion: no sobrescribe los recursos que ya tengas durante el conflicto.
  • UseBackupVersion: elimina y vuelve a crear los recursos de clúster que ya tengas durante el conflicto. Los recursos con permisos de clúster que ya tengas en el clúster de destino se sobrescribirán con las versiones de la copia de seguridad. Esta es una opción peligrosa que puede provocar la pérdida de datos no deseada si se usa de forma inadecuada. Por ejemplo, si se elimina una definición de recurso personalizado, Kubernetes elimina todos los recursos personalizados de ese tipo.
namespacedResourceRestoreMode Gestiona la situación en la que los conjuntos de recursos con espacios de nombres que se van a restaurar ya existen en el clúster de destino. Especifica una de las siguientes opciones:
  • DeleteAndRestore: cuando se encuentran recursos de nivel superior en conflicto, como Namespaces o ProtectedApplications, primero se elimina el recurso en conflicto y todos sus recursos referenciados antes de restaurar los recursos de la Backup. Usa este modo solo cuando quieras revertir una parte de un clúster a un estado anterior.
  • FailOnConflict: si se encuentran recursos de nivel superior en conflicto, como el recurso Namespace o ProtectedApplication, al principio o durante el proceso de restauración, la Restore falla.
  • MergeSkipOnConflict: si se encuentran recursos en conflicto durante el proceso de restauración, este modo omite la restauración de los recursos en conflicto de la copia de seguridad y continúa restaurando otros recursos que no estén en el clúster.
  • MergeReplaceOnConflict: si se encuentran recursos en conflicto durante el proceso de restauración, este modo sustituye los recursos en conflicto de la copia de seguridad y continúa restaurando otros recursos que no estén en el clúster.
namespacedResourceRestoreScope Especifica qué Namespaces o ProtectedApplications se pueden restaurar.
  • selectedApplications asocia aplicaciones protegidas a esta restauración.
  • selectedNamespaces contiene NAME_SPACE, que especifica el espacio de nombres que se va a restaurar a partir de la copia de seguridad.
clusterBackupRepositoryRef Especifica el repositorio en el que se van a almacenar los Restore recursos. Este repositorio puede ser diferente del repositorio del que la copia de seguridad procede. El repositorio debe ser un ReadWrite repositorio del clúster.
substitutionRules Reglas para sustituir valores en los recursos de Kubernetes de los que se ha hecho una copia de seguridad durante la restauración. Una lista vacía significa que no se produce ninguna sustitución. Las reglas de sustitución se aplican secuencialmente en el orden definido. Este orden es importante, ya que los cambios realizados por una regla pueden afectar a la lógica de coincidencia de la regla posterior. Cada regla especifica un target, un originValuePattern que debe coincidir (VALUE_PATTERN) y un newValue (NEW_CONFIG_VALUE) que se va a sustituir. El target puede incluir namespaces para definir el ámbito de la regla (NAME_SPACE).

Una vez que se ha creado un ClusterRestorePlan, los usuarios con el rol de creador de copias de seguridad pueden restaurar copias de seguridad manualmente.

Ver un plan de restauración

Para ver un plan de restauración, sigue estos pasos en la consola de GDC:

  1. Inicia sesión en la consola de GDC.
  2. En el menú de navegación, haz clic en Copia de seguridad de clústeres.
  3. Haz clic en Seleccionar proyecto para seleccionar una organización o un proyecto en función de tu rol:
    1. Administrador de copias de seguridad de clústeres de usuarios: selecciona una organización para ver todos los planes de restauración de una organización o selecciona un proyecto para ver todos los planes de restauración de un proyecto.
    2. Creador de copias de seguridad: selecciona un proyecto para ver todos los planes de restauración de un proyecto.
  4. Haz clic en la pestaña Planes de restauración.
  5. Haz clic en un plan de restauración de la lista para ver sus detalles.

Editar un plan de restauración

Si el repositorio de copias de seguridad asociado al plan de restauración que quieres editar tiene un valor en el campo Clúster vinculado(solo lectura) cuando se crea el plan de restauración, se crea dos veces. El plan de restauración se propaga a los clústeres de lectura y escritura y de solo lectura.

Cuando edites el plan de restauración que pertenece a un repositorio de copias de seguridad que tiene configurados clústeres de lectura y escritura y de solo lectura, debes editar el plan de restauración que tenga el TARGET CLUSTER configurado como el clúster de lectura y escritura.

Para editar un plan de restauración, sigue estos pasos en la consola de GDC:

  1. Inicia sesión en la consola de GDC.
  2. En el menú de navegación, haz clic en Copia de seguridad de clústeres.
  3. Haz clic en Seleccionar proyecto para seleccionar una organización o un proyecto en función de tu rol:
    1. Administrador de copias de seguridad de clústeres de usuarios: selecciona una organización para ver todos los planes de restauración de una organización o selecciona un proyecto para ver todos los planes de restauración de un proyecto.
    2. Creador de copias de seguridad: selecciona un proyecto para ver todos los planes de restauración de un proyecto.
  4. Haz clic en la pestaña Planes de restauración.
  5. Haz clic en el nombre del plan de restauración que quieras editar.
  6. Haz clic en la pestaña Configuración del plan para ver los campos que se pueden modificar.
  7. Haz clic en el icono Editar situado junto a Recursos con espacios de nombres para editar ese recurso:

    1. En la sección Elegir recursos con espacios de nombres, selecciona los recursos con espacios de nombres de la copia de seguridad que quieras restaurar:

      1. Selecciona Recursos con espacios de nombres seleccionados para restaurar los recursos de los espacios de nombres seleccionados de la copia de seguridad:

        1. Selecciona Editar espacios de nombres del clúster para seleccionar el espacio de nombres del clúster.
        2. En el campo Espacio de nombres del clúster 1, introduce el nombre del espacio de nombres.
        3. Haz clic en el botón Guardar.
      2. Selecciona Aplicaciones protegidas seleccionadas para restaurar los recursos de las aplicaciones protegidas seleccionadas de la copia de seguridad:

        1. Selecciona Editar aplicaciones protegidas para seleccionar el espacio de nombres y la aplicación protegida.
        2. En el campo Espacio de nombres 1, introduce el nombre del espacio de nombres.
        3. En el campo Aplicación protegida 1, introduce el nombre de la aplicación protegida.
        4. Haz clic en el botón Guardar.
  8. Haz clic en el icono Editar situado junto a Recursos con permisos de clúster para editar ese recurso:

    1. Opcional: En la sección Elegir recursos con permisos de clúster, selecciona los recursos con permisos de clúster que quieras restaurar especificando los grupos de APIs y los GroupKinds, y decide cómo se deben resolver los conflictos:

      1. Selecciona No restaurar recursos con permisos de clúster para quitar los recursos con permisos de clúster del proceso de restauración.
      2. Selecciona Restaurar recursos con permisos de clúster por GroupKind para restaurar los recursos por el GroupKind especificado:

      3. Para especificar un GroupKind, haz clic en el botón Editar GroupKind.

      4. Haz clic en el botón Añadir GroupKind.

      5. Introduce el nombre del GroupKind.

      6. Haz clic en el botón Guardar.

    2. En la sección Gestión de conflictos, determina qué acción se debe llevar a cabo si el recurso ya existe en el clúster de destino:

      1. Selecciona Conservar recursos que ya tengas para crear recursos si no existen en el clúster.
      2. Selecciona Sobrescribir recursos que ya tengas para eliminar los recursos que ya tengas y sustituirlos por el recurso restaurado.
    3. Haz clic en el botón Guardar para confirmar los cambios.

  9. En la sección Reglas de sustitución, haz clic en el botón Añadir regla para añadir una regla de sustitución:

    1. En el campo Espacios de nombres del clúster, introduce el nombre del espacio de nombres del clúster al que se aplicará esta regla de sustitución.
    2. Haz clic en el botón Añadir GroupKind para aplicar esta regla a un objeto GroupKind concreto.
    3. En el campo Ruta JSON , introduce la ruta al atributo del recurso que quieras sustituir en formato JSON.
    4. En el campo Patrón del valor original, introduce una expresión regular que coincida con el valor original del atributo.
    5. En el campo Valor nuevo, introduce el valor que se sustituye por el campo de destino. Si este campo está en blanco, el campo de destino se quita del recurso.
    6. Haz clic en el botón Guardar para completar la creación de la nueva regla de sustitución.
  10. En la sección Reglas de sustitución, haz clic en el icono Editar para editar una regla de sustitución que ya tengas.

  11. En la sección Reglas de sustitución, haz clic en el icono Eliminar para eliminar una regla de sustitución que ya tengas.

Eliminar un plan de restauración

Los RestorePlans se pueden eliminar a través de la consola de GDC o eliminando el recurso directamente del servidor de la API de Kubernetes. De esta forma, se eliminan todos los artefactos RestorePlan asociados del almacenamiento de objetos.

Consola

  1. Inicia sesión en la consola de GDC.
  2. En el menú de navegación, haz clic en Copia de seguridad de clústeres.
  3. Haz clic en Seleccionar proyecto para seleccionar una organización o un proyecto en función de tu rol:
    1. Administrador de copias de seguridad de clústeres de usuarios: selecciona una organización para ver todos los planes de restauración de una organización o selecciona un proyecto para ver todos los planes de restauración de un proyecto.
    2. Creador de copias de seguridad: selecciona un proyecto para ver todos los planes de restauración de un proyecto.
  4. Haz clic en la pestaña Planes de restauración.
  5. Haz clic en el nombre del plan de restauración que quieras eliminar.
  6. Haz clic en el botón Eliminar.
  7. Introduce el nombre del plan de restauración en el campo.
  8. Haz clic en el botón Eliminar para confirmar que quieres eliminar este plan de restauración.

API

Elimina el recurso del plan de restauración:

kubectl delete clusterRestoreplan RESTORE_PLAN_NAME -n NAMESPACE

Haz los cambios siguientes:

  • RESTORE_PLAN_NAME: el nombre del plan de restauración.
  • NAMESPACE: el espacio de nombres que contiene el plan de restauración.

Siguientes pasos