Planifica un conjunto de copias de seguridad

En esta página, se describe cómo crear y administrar planes de copias de seguridad para cargas de trabajo de clústeres en Google Distributed Cloud (GDC) aislado.

Los planes de copias de seguridad proporcionan las funciones de configuración, ubicación y administración de una secuencia de copias de seguridad. Un plan de copia de seguridad contiene una configuración de copia de seguridad, incluido el clúster de origen y la selección de las cargas de trabajo de las que se creará una copia de seguridad. Google recomienda que cada clúster tenga al menos un plan de copia de seguridad.

Puedes crear uno o más planes de copia de seguridad para cada clúster. Es posible que desees particionar las copias de seguridad de tu clúster por uno de los siguientes motivos:

  • En lugar de una copia de seguridad muy grande tomada en un solo momento del día, quieres tener varias copias de seguridad más pequeñas distribuidas durante todo el día.
  • Deseas crear copias de seguridad de algunas partes del clúster con más frecuencia que otras, como las copias de seguridad diarias de algunos espacios de nombres y las copias de seguridad por hora de otros.

Un solo clúster o máquina virtual (VM) puede pertenecer a uno o más planes de copia de seguridad. Un plan de copia de seguridad no puede abarcar más de un clúster. Sin embargo, un solo plan de copia de seguridad puede capturar varias VMs si existen en el mismo clúster. Debes asociar todos los recursos de copia de seguridad y restablecimiento con un nombre de proyecto.

Antes de comenzar

Para crear un plan de copias de seguridad, debes tener lo siguiente:

  • El rol de identidad y acceso necesario:
    • Administrador de copias de seguridad del clúster 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 de clústeres 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 copias de seguridad para ti.
  • Cuando crees una copia de seguridad de un clúster de usuario, asegúrate de adjuntar a ese clúster el proyecto que se usó para crear el plan de copias de seguridad.

Crear un plan de creación de copias de seguridad

Te recomendamos que definas un programa cron para el plan de copia de seguridad, de modo que las copias de seguridad se creen automáticamente según ese programa. También puedes crear una copia de seguridad manual de tus cargas de trabajo. Para obtener más información, consulta Crea una copia de seguridad manual.

Crea planes de copia de seguridad con la consola o la API de GDC.

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 copia de seguridad.
  4. En la sección Detalles del plan, completa los siguientes pasos y haz clic en Continuar:
    1. En la lista Clúster, selecciona el clúster del que deseas crear una copia de seguridad.
    2. En la lista Proyecto, selecciona el proyecto.
    3. En el campo Nombre del plan de copia de seguridad, ingresa el nombre del plan de copia de seguridad que elegiste.
    4. En Descripción del plan de creación de copias de seguridad, ingresa una descripción para el plan de creación de copias de seguridad (opcional).
    5. En el campo Backup repo, selecciona un repositorio de copias de seguridad. Los repositorios de copias de seguridad son un conjunto de implementaciones de almacenamiento de objetos.
    6. Haz clic en Siguiente.
  5. En la sección Alcance y encriptación, completa los siguientes pasos y haz clic en Continuar:

    1. Selecciona uno de los siguientes alcances para el plan de copia de seguridad:

      1. Haz clic en Todo el clúster para crear una copia de seguridad de todos los recursos del espacio de nombres.
      2. Haz clic en Selected namespaces within the cluster para elegir los espacios de nombres del clúster de los que deseas crear una copia de seguridad.
        1. Haz clic en Edit Cluster Namespace y, luego, en Add Cluster Namespace para ingresar un Namespace.
      3. Haz clic en Selected protected applications within this cluster para agregar recursos especificando el espacio de nombres y el nombre de la aplicación.
        1. Haz clic en Edit Protected Applications y, luego, en Add Protected Application para ingresar un espacio de nombres y una aplicación protegida.
    2. Haz clic en Include Secrets para incluir recursos de Secret de Kubernetes.

    3. Haz clic en Incluir datos de volumen persistente si deseas que los datos de volumen se incluyan en tu copia de seguridad. Desmarca esta casilla de verificación si deseas crear volúmenes vacíos durante la copia de seguridad.

  6. En la sección Schedule and retention, completa los siguientes pasos y haz clic en Continuar:

    1. Para definir un programa, ingresa una expresión con sintaxis cron estándar en el campo Cadena CRON. Por ejemplo, la expresión 10 3 * * * crea una copia de seguridad a las 0310 todos los días. Todas las horas se interpretan como UTC. El intervalo mínimo entre las copias de seguridad programadas es de 10 minutos.
    2. En el campo Borrar copias de seguridad después de, configura la cantidad de días durante los que se retendrá la copia de seguridad. Una vez que se alcanza la cantidad de días, la copia de seguridad se borra automáticamente.
    3. Configura la cantidad de días durante los cuales no se pueden borrar las copias de seguridad.
    4. Para bloquear la política de retención, haz clic en el ícono de bloqueo para cambiar el estado de Desactivado a Activado.
  7. Revisa los detalles del plan de copia de seguridad y haz clic en Crear plan.

API

Crea un recurso personalizado de ClusterBackupPlan en el clúster para programar copias de seguridad. Un plan de creación de copias de seguridad programa periódicamente copias de seguridad según el backupSchedule. Los recursos ClusterBackupPlan son recursos de espacio de nombres. Este es un ejemplo de ClusterBackupPlan:

apiVersion: backup.gdc.goog/v1
kind: ClusterBackupPlan
metadata:
  name: CLUSTER_BACKUP_PLAN
  namespace: PROJECT_NAME
spec:
  targetCluster:
    targetClusterType: UserCluster
    targetClusterName:
      kind: "Cluster"
      name: CLUSTER_NAME
  backupSchedule:
    cronSchedule: CRON_SCHEDULE
    paused: BACKUP_SCHEDULE_STATUS
  clusterBackupConfig:
    backupScope:
      selectedNamespaces:
        namespaces: [NAME_SPACE]
    clusterBackupRepositoryName: CLUSTER_BACKUP_REPOSITORY
    includeVolumeData: VOLUME_DATA_INCLUDED
    volumeStrategy: VOLUME_STRATEGY
    includeSecrets: SECRETS_INCLUDED
  retentionPolicy:
    backupDeleteLockDays: BACKUP_DELETE_LOCK_DAYS
    backupRetainDays: BACKUP_RETAIN_DAYS
  description: BACKUP_PLAN_DESCRIPTION

Reemplaza lo siguiente:

  • CLUSTER_BACKUP_PLAN: Es el nombre de tu plan de copia de seguridad del clúster.
  • PROJECT_NAME: Es el nombre de tu proyecto de GDC.
  • CLUSTER_NAME: el nombre del clúster del que se creará una copia de seguridad. El campo targetCluster que lo incluye tiene los siguientes componentes:
    • targetClusterType: Es el tipo de clúster del que se creará una copia de seguridad, como UserCluster o ManagementAPI. En este ejemplo, se usa UserCluster.
    • targetClusterName: Contiene name, que se establece con CLUSTER_NAME.
  • CRON_SCHEDULE: Es una programación de crontab que indica cuándo programar copias de seguridad, como "*/30 * * * *". El intervalo mínimo entre las copias de seguridad programadas es de 10 minutos.
  • BACKUP_SCHEDULE_STATUS: Si es true, no se programan copias de seguridad periódicas.
  • NAME_SPACE: Es una lista de espacios de nombres que se incluirán en la copia de seguridad. El campo clusterBackupConfig que lo incluye contiene detalles de configuración para las copias de seguridad:
    • backupScope: Indica qué recursos se incluyen en la copia de seguridad. En este ejemplo, se usa selectedNamespaces. Entre los valores posibles, se incluyen los siguientes:
      • allNamespaces: Captura todos los recursos en todos los espacios de nombres.
      • selectedNamespaces: Captura recursos en la lista de espacios de nombres especificados.
      • selectedApplication: Captura los recursos definidos por protectedApplications.
    • namespaces: Se aplica si backupScope es selectedNamespaces.
  • CLUSTER_BACKUP_REPOSITORY: Valor de clusterBackupRepositoryName en clusterBackupConfig. Este es el repositorio de destino que almacena las copias de seguridad y se debe importar como ReadWrite.
  • VOLUME_DATA_INCLUDED: Especifica si se deben crear copias de seguridad de los datos de volumen. Este valor es false de forma predeterminada. Si deseas incluir datos de volumen en tu copia de seguridad, establece este parámetro en true.
  • VOLUME_STRATEGY: Es el tipo de copia de seguridad del volumen que se realizará. Entre los valores posibles, se incluyen los siguientes:
    • ProvisionerSpecific: Aprovecha las capacidades de copia de seguridad y restablecimiento del aprovisionador de almacenamiento subyacente. Usa esta opción si includeVolumeData es true.
    • LocalSnapshotOnly: Crea una copia del volumen en un momento determinado solo en el sistema de almacenamiento local.
    • Portable: Proporciona una forma de crear copias de seguridad de los datos de volumen que no depende del almacenamiento.
  • SECRETS_INCLUDED: Especifica si se deben crear copias de seguridad de los secretos. Este valor es false de forma predeterminada. Si quieres incluir recursos de Secret de Kubernetes en tu copia de seguridad, configura este parámetro como true.
  • BACKUP_DELETE_LOCK_DAYS: Evita que se borre la copia de seguridad durante la cantidad de días especificada después de la creación de la copia de seguridad, por ejemplo, 10 days.
  • BACKUP_RETAIN_DAYS: Define la cantidad total de días que se retendrá la copia de seguridad. Después de este período, la copia de seguridad se borra automáticamente. Si se establece este valor en un número más alto, es posible que se agote el almacenamiento, mientras que, si se establece en un valor más bajo, puede aumentar el riesgo de pérdida de datos. Si no se especifica, este valor se establece en 35 de forma predeterminada. Las políticas de retención no anulan las políticas de retención de la ubicación de almacenamiento ni pueden exceder los 90 días.
  • BACKUP_PLAN_DESCRIPTION: Es una descripción del plan de copia de seguridad.

Después de crear un plan de copia de seguridad, las copias de seguridad se crean automáticamente con la configuración especificada según el programa de copias de seguridad.

Visualiza un plan de copia de seguridad

Visualiza un plan de copia de seguridad 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 Seleccionar proyecto y elige una organización o un proyecto según tu rol:
    • Administrador de copias de seguridad del clúster de usuario: Selecciona una organización para ver todos los planes de copias de seguridad en una organización o selecciona un proyecto para ver todos los planes de copias de seguridad en un proyecto.
    • Backup Creator: Selecciona un proyecto para ver todos los planes de copias de seguridad en un proyecto.
  4. Haz clic en la pestaña Backup Plans.
  5. Haz clic en un plan de copia de seguridad de la lista para ver sus detalles. Los usuarios con privilegios de administrador de copias de seguridad del clúster de usuarios pueden ver todos los planes de copias de seguridad de la organización. Los usuarios con el rol de creador de copias de seguridad pueden ver todos los planes de copias de seguridad en el proyecto seleccionado.

API

Para ver un plan de copia de seguridad, usa el comando kubectl get:

kubectl get clusterbackupplan CLUSTER_BACKUP_PLAN -n PROJECT_NAME -o yaml

Reemplaza lo siguiente:

  • CLUSTER_BACKUP_PLAN: El nombre del plan de copia de seguridad que se debe ver.
  • PROJECT_NAME: Es el nombre de tu proyecto de GDC.

Cómo editar un plan de copias de seguridad

Edita un plan de copia de seguridad 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 Seleccionar proyecto y elige una organización o un proyecto según tu rol:
    • Administrador de copias de seguridad del clúster de usuario: Selecciona una organización para ver todos los planes de copias de seguridad en una organización o selecciona un proyecto para ver todos los planes de copias de seguridad en un proyecto.
    • Backup Creator: Selecciona un proyecto para ver todos los planes de copias de seguridad en él.
  4. Haz clic en la pestaña Backup Plans.
  5. Haz clic en el nombre del plan de copias de seguridad 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 de Programación y retención para editar ese recurso:

    1. Para actualizar un programa, ingresa una expresión con sintaxis cron estándar en el campo Cadena CRON. Por ejemplo, la expresión 10 3 * * * crea una copia de seguridad a las 0310 todos los días. Todas las horas se interpretan como UTC. El intervalo mínimo entre las copias de seguridad programadas es de 10 minutos.
    2. En el campo Borrar copias de seguridad después de, configura la cantidad de días durante los que se retendrá la copia de seguridad. Una vez que se alcanza la cantidad de días, la copia de seguridad se borra automáticamente.
    3. En el campo Evitar el borrado durante, configura la cantidad de días durante los cuales no se pueden borrar las copias de seguridad.

    4. Para bloquear la política de retención, haz clic en el ícono de bloqueo para cambiar el estado de Desactivado a Activado.

    5. Haz clic en el botón Guardar para confirmar los cambios.

API

Para editar un plan de copia de seguridad, usa el comando kubectl edit para modificar el recurso personalizado ClusterBackupPlan. Este comando abre la configuración en YAML del recurso en tu editor de texto predeterminado.

kubectl edit clusterbackupplan CLUSTER_BACKUP_PLAN -n PROJECT_NAME

Reemplaza lo siguiente:

  • CLUSTER_BACKUP_PLAN: Es el nombre del plan de copia de seguridad que se editará.
  • PROJECT_NAME: Es el nombre de tu proyecto de GDC.

En el editor, puedes modificar campos como los siguientes:

  • spec.backupSchedule.cronSchedule: Actualiza la frecuencia de la copia de seguridad.
  • spec.backupSchedule.paused: Habilita o inhabilita la programación de copias de seguridad.
  • spec.retentionPolicy.backupRetainDays: Cambiar el tiempo que se conservan las copias de seguridad
  • spec.retentionPolicy.backupDeleteLockDays: Cambia el período de bloqueo por eliminación.
  • spec.retentionPolicy.locked: Bloquea la política de retención.
  • spec.deactivated: Desactiva el plan de copia de seguridad. Si se establece este campo en "true", se impide la creación de copias de seguridad y otras actualizaciones.

Desactiva un plan de copia de seguridad

Sigue estos pasos para desactivar un plan de copia de seguridad 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 Seleccionar proyecto y elige una organización o un proyecto según tu rol:
    • Administrador de copias de seguridad del clúster de usuario: Selecciona una organización para ver todos los planes de copias de seguridad en una organización o selecciona un proyecto para ver todos los planes de copias de seguridad en un proyecto.
    • Backup Creator: Selecciona un proyecto para ver todos los planes de copias de seguridad en un proyecto.
  4. Haz clic en la pestaña Backup Plans.
  5. Haz clic en el nombre del plan de copias de seguridad que deseas desactivar.
  6. Haz clic en el botón Desactivar plan.
  7. Ingresa en el campo el nombre del plan de copia de seguridad que deseas desactivar.
  8. Haz clic en el botón Desactivar para completar la desactivación de este plan de copias de seguridad.

API

Para desactivar un plan de copia de seguridad, establece el campo deactivated en true:

kubectl patch clusterbackupplan CLUSTER_BACKUP_PLAN -n PROJECT_NAME -p '{"spec":{"deactivated":true}}' --type=merge

Reemplaza lo siguiente:

  • CLUSTER_BACKUP_PLAN: Es el nombre del plan de copia de seguridad que se desactivará.
  • PROJECT_NAME: Es el nombre de tu proyecto de GDC.

¿Qué sigue?