Planifica un conjunto de restablecimientos

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

Los planes de restablecimiento son situaciones de restablecimiento preconfiguradas para una línea de copia de seguridad correspondiente. Los planes de restablecimiento pueden asignar permisos para que los usuarios con el rol de Creador de copias de seguridad usen estas opciones de configuración.

Los creadores de copias de seguridad pueden restablecer una copia de seguridad de manera independiente y rápida cuando se produce un incidente. Por ejemplo, los datos persistentes pueden estar dañados por una actualización de software en una aplicación implementada, lo que coloca el espacio de nombres de la aplicación en un estado no válido, lo que requiere un restablecimiento.

Durante el restablecimiento, puedes aplicar de manera opcional un conjunto de reglas de sustitución que se usan para hacer coincidir un conjunto de recursos y sustituir el valor actual de un atributo en esos recursos por un valor nuevo. Por ejemplo, una regla de sustitución puede cambiar el espacio de nombres de los recursos de la copia de seguridad durante el restablecimiento para migrar una carga de trabajo de un espacio de nombres a otro.

Antes de comenzar

Para crear un plan de restablecimiento, debes tener lo siguiente:

  • El rol de identidad y acceso necesario:

    • Administrador de copias de seguridad de clústeres de usuario: Administra recursos de copias de seguridad, como planes de copias de seguridad y restablecimiento en clústeres de usuario. Pídele al administrador de IAM de la organización que te otorgue el rol de administrador de copias de seguridad del clúster de usuarios (user-cluster-backup-admin). Para obtener más información, consulta Definiciones de roles.
    • Si eres operador de aplicaciones, pídele a tu administrador, que tiene privilegios de administrador de copias de seguridad del clúster de usuario, que cree un plan de restablecimiento para ti.

Crear un plan de restablecimiento

Crea un plan de restablecimiento con la consola de GDC o la API.

Console

  1. Accede a la consola de GDC.
  2. En el menú de navegación, haz clic en Copia de seguridad para clústeres.
  3. Haz clic en Crear plan de restablecimiento.
  4. En la sección Aspectos básicos del plan de restablecimiento, completa los siguientes pasos y haz clic en Siguiente:
    1. En Nombre del plan de restablecimiento, ingresa el nombre de tu plan de restablecimiento.
    2. (Opcional) En Descripción del plan de restablecimiento, ingresa una descripción para el plan de restablecimiento.
    3. En la lista Clúster de origen, elige el clúster de origen para el plan de restauración.
    4. En la lista Proyecto, elige el proyecto para el plan de restauración.
    5. Selecciona el proyecto que está conectado 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 existente que corresponda a las copias de seguridad que deseas restablecer.
    7. En el campo Clúster de destino, elige el clúster de destino en el que deseas restablecer la copia de seguridad.
  5. En la sección Elige recursos con espacios de nombres, completa los siguientes pasos y haz clic en Siguiente:
    1. Elige los espacios de nombres que deseas restablecer:
      1. Haz clic en Todos los recursos con espacios de nombres para restablecer todos los recursos con espacios de nombres en la copia de seguridad.
      2. Haz clic en Recursos con espacios de nombres seleccionados para especificar los espacios de nombres en la copia de seguridad que se restablecerán.
        1. Haz clic en Editar espacios de nombres del clúster y, luego, en Agregar espacio de nombres del clúster para ingresar un espacio de nombres.
      3. Haz clic en Aplicaciones protegidas seleccionadas para agregar recursos especificando el espacio de nombres y el nombre de la aplicación.
    2. Elige cómo controlar los conflictos:
      1. Haz clic en Falla debido a un conflicto (no destructivo) para hacer que falle el restablecimiento si algún espacio de nombres destinado al restablecimiento desde una copia de seguridad ya existe en el clúster de destino.
      2. Haz clic en Revertir (destructivo) para borrar los espacios de nombres existentes antes de restablecer los nuevos espacios de nombres si ya existe en el clúster de destino algún espacio de nombres para el restablecimiento desde una copia de seguridad.
    3. Elige cómo restablecer los datos del volumen:
      1. Haz clic en Aprovisionar volúmenes nuevos y restablecer los datos de volumen desde la copia de seguridad para restablecer los datos de volumen desde la copia de seguridad en un disco persistente nuevo.
      2. Haz clic en No restablecer los datos de volumen para aprovisionar un volumen persistente nuevo. Si el clúster de destino contiene un volumen persistente no vinculado que cumple con los requisitos de PersistentVolumeClaim, el clúster está vinculado al volumen.
      3. Haz clic en Volver a usar volúmenes existentes que contienen tus datos para no restablecer los datos de la copia de seguridad del volumen. Cualquier PersistentVolumeClaims está vinculado a los volúmenes que hacen referencia a discos persistentes existentes.
  6. Opcional: En la sección Elige recursos con permisos de clúster, sigue estos pasos y haz clic en Siguiente:
    1. Haz clic en No restablecer recursos con permiso de clúster para dejar intacta la versión existente del recurso.
    2. Haz clic en Restablecer recursos con permiso de clúster por GroupKind para restablecer estos recursos.
      1. Haz clic en Editar GroupKinds para agregar más recursos con permisos del clúster. Ingresa el grupo de API y el tipo de objeto para que coincidan los recursos dentro de esos tipos.
    3. Haz clic en Conservar los recursos existentes para crear recursos si no existen en el clúster de destino.
    4. Haz clic en Reemplazar recursos en el clúster de destino para borrar un recurso si ya existe en el clúster de destino y restablecer la copia desde la copia de seguridad.
  7. Opcional: En la sección Agregar reglas de sustitución, completa los siguientes pasos y haz clic en Siguiente:
    1. Haz clic en Agregar regla nueva.
    2. En el cuadro Cluster namespaces, escribe una lista de espacios de nombres para que coincidan con los recursos dentro de esos espacios de nombres.
    3. Para agregar GroupKinds, haz clic en Agregar GroupKind y, luego, ingresa el grupo de API y el tipo de objeto para que coincidan los recursos dentro de esos tipos.
    4. En el campo Ruta de JSON, escribe la ruta de JSON que identifica los campos dentro de los recursos coincidentes para los que se aplica la sustitución.
    5. En el campo Patrón de 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 reemplaza el valor actual de los atributos coincidentes.
    7. Haz clic en Guardar.
  8. Haz clic en Crear.

API

Crea un recurso personalizado ClusterRestorePlan para planificar restablecimientos a partir de un ClusterBackupPlan existente. ClusterRestorePlan asigna el conjunto exacto de recursos y espacios de nombres que un creador de copias de seguridad tiene permiso para restablecer. Este es un ejemplo de ClusterRestorePlan:

apiVersion: backup.gdc.goog/v1
kind: ClusterRestorePlan
metadata:
  name: restoreplan-sample
  namespace:  PROJECT_NAME
spec:
  targetCluster:
    targetClusterType: UserCluster
    targetClusterName:
      kind: "Cluster"
      name: "user-vm-1"
  description: "restores test clusters"
  clusterBackupPlanName: "backupplan-sample"
  clusterRestoreConfig:
    volumeDataRestorePolicy: RestoreVolumeDataFromBackup
    clusterResourceConflictPolicy: UseBackupVersion
    namespacedResourceRestoreMode: DeleteAndRestore
    namespacedResourceRestoreScope:
      selectedNamespaces:
        namespaces: ["nginx-2"]
    clusterBackupRepositoryRef: "backup-repository"
    substitutionRules:
      - newValue: "newhippo"
        originValuePattern: game-config-2
        target:
          groupKinds:
          jsonPath: '{.metadata.name}'
          namespaces:
          - nginx-2
      - newValue: "hippo"
        originValuePattern: game-config
        target:
          groupKinds:
          jsonPath: '{.metadata.name}'
          namespaces:
          - nginx-2

Reemplaza PROJECT_NAME por el nombre de tu proyecto de GDC.

En este ejemplo, se usan los siguientes valores:


Valor

Atributo

Descripción
clusterBackupPlanName Es el nombre del ClusterBackupPlan que se restablecerá. El ClusterBackupPlan debe existir en el mismo espacio de nombres que el ClusterRestorePlan.
targetClusterName Es el nombre del clúster de origen en un proyecto con el que se asocia este plan.
description Es una descripción proporcionada por el usuario sobre el propósito de ClusterRestorePlan.
clusterRestoreConfig Es la configuración del proceso de restablecimiento.
clusterBackupRepositoryRef Especifica el repositorio para almacenar los recursos de Restore. Este repositorio puede ser diferente del repositorio del que se creó la copia de seguridad. El repositorio debe ser un repositorio ReadWrite en el clúster.
clusterResourceConflictPolicy Especifica el comportamiento para controlar los conflictos de recursos del clúster, como si el recurso ya existe en el clúster. Especifica una de las siguientes opciones:
  • UseExistingVersion: No reemplaza los recursos existentes durante el conflicto
  • UseBackupVersion: Borra y vuelve a crear los recursos existentes del clúster durante el conflicto. Esta es una opción peligrosa que puede causar una pérdida de datos involuntaria si se usa de forma inadecuada. Por ejemplo, si borras una definición de recurso personalizado, Kubernetes borrará todos los recursos personalizados de ese tipo.
volumeDataRestorePolicy Especifica una de las siguientes opciones:
  • NoVolumeDataRestoration: No se restablecen los PV ni las PVC.
  • RestoreVolumeDataFromBackup: Los PV y PVC nuevos se crean a partir de la copia de seguridad.
  • ReuseVolumeHandleFromBackup: Crea PVs nuevos, pero intenta restablecer los PVCs con sus PVs originales. Se diseñó para restablecerse en el mismo clúster del que se tomó la copia de seguridad.
namespacedResourceRestoreMode Controla la situación en la que los conjuntos de recursos con espacio de nombres que se restablecen 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 activa el borrado del recurso en conflicto y todos sus recursos referenciados antes de restablecer los recursos desde Backup. Usa este modo solo cuando quieras revertir alguna parte de un clúster a un estado anterior.
  • FailOnConflict: Si se encuentran recursos en conflicto de nivel superior, como el recurso Namespace o ProtectedApplication, al comienzo del proceso de restablecimiento o durante este, el Restore falla.
  • MergeSkipOnConflict: Si se encuentran recursos en conflicto durante el proceso de restablecimiento, este modo omite el restablecimiento de los recursos en conflicto desde la copia de seguridad y continúa restableciendo otros recursos que no están en el clúster.
  • MergeReplaceOnConflict: Si se encuentran recursos en conflicto durante el proceso de restablecimiento, este modo reemplaza los recursos en conflicto de la copia de seguridad y continúa restableciendo otros recursos que no están en el clúster.
namespacedResourceRestoreScope Especifica qué Namespaces o ProtectedApplications se permiten para la restauración.
  • selectedApplications asocia una aplicación protegida con este restablecimiento.
  • selectedNamespaces asocia un espacio de nombres con esta restauración.
substitutionRules Son reglas para sustituir valores en los recursos de Kubernetes de la copia de seguridad durante el restablecimiento. Una lista vacía significa que no se producirá ninguna sustitución. Las reglas de sustitución se aplican de forma secuencial en el orden definido. Este orden es importante, ya que los cambios que realiza una regla pueden afectar la lógica de coincidencia de la regla subsiguiente.

Después de crear un objeto ClusterRestorePlan, los usuarios con el rol de creador de copias de seguridad pueden restablecer copias de seguridad de forma manual.

Visualiza un plan de restablecimiento

Sigue estos pasos para ver un plan de restablecimiento con la consola de GDC:

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

Cómo editar un plan de restablecimiento

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

Cuando editas el plan de restablecimiento 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 restablecimiento que tiene el parámetro TARGET CLUSTER configurado en el clúster de lectura y escritura.

Edita un plan de restablecimiento con la consola de GDC:

  1. Accede a la consola de GDC.
  2. En el menú de navegación, haz clic en Copia de seguridad para clústeres.
  3. Haz clic en Seleccionar proyecto para seleccionar una organización o un proyecto según tu rol:
    1. Administrador de copias de seguridad del clúster de usuarios: Selecciona una organización para ver todos los planes de restablecimiento de una organización o selecciona un proyecto para ver todos los planes de restablecimiento de un proyecto.
    2. Backup Creator: Selecciona un proyecto para ver todos los planes de restablecimiento en un proyecto.
  4. Haz clic en la pestaña Planes de restablecimiento.
  5. Haz clic en el nombre del plan de restablecimiento que deseas 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 ícono de edición junto a Recursos con espacio de nombres para editar ese recurso:

    1. En la sección Elige recursos con espacios de nombres, selecciona los recursos con espacios de nombres de la copia de seguridad que deseas restablecer:

      1. Selecciona Todos los recursos con espacios de nombres para restablecer todos los recursos con espacios de nombres en la copia de seguridad.
      2. Selecciona Recursos con espacios de nombres seleccionados para restablecer los recursos de los espacios de nombres seleccionados en la copia de seguridad:

        1. Selecciona Edit Cluster Namespaces para seleccionar el espacio de nombres del clúster.
        2. En el campo Espacio de nombres del clúster 1, ingresa el nombre del espacio de nombres.
        3. Haz clic en el botón Guardar.
      3. Selecciona Aplicaciones protegidas seleccionadas para restablecer recursos de las aplicaciones protegidas seleccionadas en 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, ingresa el nombre del espacio de nombres.
        3. En el campo Aplicación protegida 1, ingresa el nombre de la aplicación protegida.
        4. Haz clic en el botón Guardar.
  8. Haz clic en el ícono de edición junto a Recursos con alcance de clúster para editar ese recurso:

    1. Opcional: En la sección Elige recursos con permisos de clúster, selecciona los recursos con permisos de clúster que deseas restablecer. Para ello, especifica los grupos de API y GroupKinds, y decide cómo se deben resolver los conflictos:

      1. Selecciona No restablecer recursos con permiso de clúster para quitar los recursos con permiso de clúster del proceso de restablecimiento.
      2. Selecciona Restablecer recursos con permiso de clúster por GroupKind para restablecer los recursos por el GroupKind especificado:

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

      4. Haz clic en el botón Add GroupKind.

      5. Ingresa el nombre de GroupKind.

      6. Haz clic en el botón Guardar.

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

      1. Selecciona Conservar los recursos existentes para crear recursos si aún no existen en el clúster.
      2. Selecciona Reemplazar los recursos existentes para borrar los recursos existentes que se encuentren y reemplazar este recurso por el recurso restablecido.
    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 Agregar regla nueva para agregar una regla de sustitución nueva:

    1. En el campo Cluster namespaces, ingresa 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 Add GroupKind para aplicar esta regla a un objeto GroupKind determinado.
    3. En el campo Ruta de acceso de JSON, ingresa la ruta de acceso al atributo del recurso que deseas sustituir, en formato JSON.
    4. En el campo Patrón del valor original, ingresa una expresión regular que coincida con el valor original del atributo.
    5. En el campo Valor nuevo, ingresa el valor que se reemplazará en el campo de destino. Si este campo está en blanco, el campo de destino se quitará 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 ícono de edición para editar una regla de sustitución existente.

  11. En la sección Reglas de sustitución, haz clic en el ícono de borrar para quitar una regla de sustitución existente.

Borrar un plan de restablecimiento

RestorePlans se puede borrar a través de la consola de GDC o borrando el recurso directamente del servidor de la API de Kubernetes. Esto limpia los artefactos RestorePlan asociados del almacenamiento de objetos.

Console

  1. Accede a la consola de GDC.
  2. En el menú de navegación, haz clic en Copia de seguridad para clústeres.
  3. Haz clic en Seleccionar proyecto para seleccionar una organización o un proyecto según tu rol:
    1. Administrador de copias de seguridad del clúster de usuario: Selecciona una organización para ver todos los planes de restablecimiento de una organización o selecciona un proyecto para ver todos los planes de restablecimiento de un proyecto.
    2. Backup Creator: Selecciona un proyecto para ver todos los planes de restablecimiento en un proyecto.
  4. Haz clic en la pestaña Planes de restablecimiento.
  5. Haz clic en el nombre del plan de restablecimiento que deseas borrar.
  6. Haz clic en el botón Borrar.
  7. Ingresa el nombre del plan de restablecimiento en el campo.
  8. Haz clic en el botón Borrar para confirmar la eliminación de este plan de restablecimiento.

API

Borra el recurso del plan de restablecimiento:

kubectl delete clusterRestoreplan RESTORE_PLAN_NAME -n NAMESPACE

Reemplaza lo siguiente:

  • RESTORE_PLAN_NAME: Es el nombre del plan de restablecimiento.
  • NAMESPACE: Es el espacio de nombres que contiene el plan de restablecimiento.

¿Qué sigue?