Copia de seguridad de GKE

Copia de seguridad de GKE es un servicio con el que puedes crear copias de seguridad y restaurar cargas de trabajo en clústeres de GKE. Tiene dos componentes:

  • Una API de Google Cloud que actúa como plano de control del servicio.
  • Un complemento de GKE (el agente de copia de seguridad de GKE) que debe habilitarse en cada clúster en el que quieras realizar operaciones de copia de seguridad y restauración.

Las copias de seguridad de tus cargas de trabajo pueden ser útiles para la recuperación tras fallos, los flujos de procesamiento de CI/CD, la clonación de cargas de trabajo o las situaciones de actualización. Proteger las cargas de trabajo puede ayudarte a alcanzar los objetivos de puntos de recuperación esenciales para la empresa.

Introducción

Una vez habilitado, el servicio Copia de seguridad de GKE se integra con la interfaz de usuario de GKE, la CLI de Google Cloud y las APIs REST, lo que proporciona flujos de trabajo coherentes para el desarrollo y las operaciones. En una copia de seguridad se capturan dos tipos de datos:

  • Copia de seguridad de la configuración: un conjunto de manifiestos de recursos de Kubernetes extraídos del servidor de la API del clúster que se está copiando para capturar el estado del clúster.
  • Copias de seguridad de volúmenes: conjunto de copias de seguridad de volúmenes que corresponden a los recursos de PersistentVolumeClaim que se encuentran en la copia de seguridad de la configuración.

Puedes elegir las cargas de trabajo de las que quieras crear una copia de seguridad o restaurar, o bien crear una copia de seguridad o restaurar todas las cargas de trabajo. Puedes crear copias de seguridad de las cargas de trabajo de un clúster y restaurarlas en otro. Puedes programar tus copias de seguridad para que se ejecuten automáticamente y así poder responder rápidamente para recuperar tus cargas de trabajo en caso de que se produzca un incidente.

Copia de seguridad de GKE permite crear copias de seguridad o restaurar un clúster entre proyectos. También puedes crear planes de copias de seguridad para un clúster de GKE en el mismo proyecto que el clúster. Del mismo modo, puedes crear planes de restauración para un clúster de GKE en el mismo proyecto que el clúster.

Para restaurar una carga de trabajo, es necesario volver a crear los recursos de Kubernetes en el clúster de destino. Una vez creados los recursos, la restauración de las funciones de las cargas de trabajo está sujeta al proceso de conciliación del clúster (por ejemplo, los pods se programan en los nodos y, a continuación, se inician en esos nodos). Durante la restauración, puedes aplicar reglas de transformación opcionales, que se usan para buscar un conjunto de recursos y sustituir el valor actual de un atributo de esos recursos por un nuevo valor.

La combinación de copias de seguridad y restauraciones selectivas con sustituciones se ha diseñado para habilitar y admitir muchos escenarios de copia de seguridad y restauración diferentes. Por ejemplo:

  • Crea copias de seguridad de todas las cargas de trabajo de un clúster y restáuralas en otro clúster para la recuperación tras desastres.
  • Copia de seguridad de todas las cargas de trabajo, pero restaura de forma selectiva una sola carga de trabajo en el clúster de origen.
  • Crea una copia de seguridad de los recursos de un espacio de nombres y clónalos en otro.
  • Migrar o clonar una carga de trabajo de un clúster a otro.
  • Cambiar los parámetros de almacenamiento de una carga de trabajo (por ejemplo, mover la carga de trabajo de un disco persistente zonal a un disco persistente regional).

Debes crear un clúster de destino con el servicio Copia de seguridad de GKE habilitado para poder crear copias de seguridad o restaurar cargas de trabajo.

Arquitectura

Backup for GKE consta de dos componentes principales:

  • Un servicio que se ejecuta en Google Cloud y admite una API REST basada en recursos. Este servicio actúa como plano de control de Copia de seguridad de GKE. El servicio incluye elementos de la interfaz de usuario de la consola Google Cloud que interactúan con esta API.
  • Un agente que se ejecuta en todos los clústeres en los que se realizan copias de seguridad o restauraciones. El agente ejecuta operaciones de copia de seguridad y restauración en estos clústeres interactuando con la API Backup for GKE.

En el siguiente diagrama se muestra la relación entre los diferentes componentes de Backup for GKE:

Arquitectura de Backup for GKE

Resumen del servicio

El servicio Backup for GKE proporciona un endpoint de API para que los clientes interactúen con él. La API Backup for GKE, como la mayoría de las Google Cloud APIs, funciona con recursos de la nube específicos de la aplicación en una jerarquía de recursos. La función de copia de seguridad de GKE gestiona una base de datos de estos recursos específicos de la aplicación y los métodos de la API de servicio corresponden principalmente a operaciones de creación, lectura, actualización o eliminación de estos recursos.

Hay dos tipos de recursos activos principales en el modelo de recursos en la nube:

  • Backup: representa la copia de seguridad de una parte concreta de un clúster de GKE en un momento específico. Al crear un recurso Backup , se inicia el proceso de copia de seguridad (que, con el tiempo, almacena copias de los recursos de Kubernetes de destino y crea copias de los volúmenes de disco persistente de destino). Si eliminas un Backup, se borrarán estos artefactos almacenados.
  • Restore: representa la restauración de una parte seleccionada de un Backup específico en un clúster de GKE. Al crear un Restore recurso, se inicia el proceso de restauración. Eliminar una Restore no tiene efectos secundarios y quita el registro de la restauración de la base de datos.

Copia de seguridad de GKE también incluye dos tipos de recursos de configuración y control:

  • BackupPlan: recurso principal de los recursos Backup que representan una cadena de copias de seguridad. Este recurso contiene una configuración de copia de seguridad, incluido el clúster de origen, la selección de las cargas de trabajo de las que se va a crear una copia de seguridad y la región en la que se almacenan los artefactos Backup creados con este plan. Esta región puede ser cualquiera de las ubicaciones admitidas. En el caso de las copias de seguridad almacenadas en una región diferente a la del clúster de GKE, se aplican cargos por transferencia de datos de red saliente. Para obtener más información, consulta los precios de Backup for GKE.

  • RestorePlan: proporciona una plantilla de restauración reutilizable. Este recurso contiene una configuración de restauración que incluye el clúster de destino en el que quieres restaurar la copia de seguridad, el plan de copias de seguridad de origen, el ámbito de la restauración, la gestión de conflictos y las reglas de transformación. Antes de crear un plan de restauración, debes crear el clúster de destino. Copia de seguridad de GKE no crea el clúster de destino durante una restauración.

Información general sobre los agentes

El agente de la función de copia de seguridad de GKE se implementa y se ejecuta en cada clúster de GKE que configures para que el servicio de copia de seguridad de GKE cree copias de seguridad. El agente se encarga de ejecutar las actividades de copia de seguridad y restauración. Por ejemplo:

  • Copia de seguridad:

    • Orquestar el proceso de copia de seguridad.
    • Obtener recursos del servidor de la API de Kubernetes, serializarlos en un archivo y almacenar el archivo.
    • Creando copias de seguridad de los volúmenes subyacentes asociados a PersistentVolumeClaims.
  • Restaurar:

    • Orquestar el proceso de restauración.
    • Obtener el archivo de recursos de Kubernetes del almacenamiento, extraer los recursos seleccionados, aplicar las modificaciones adecuadas a estos recursos y crearlos en el clúster de destino.
    • Crear volúmenes y conectarlos a la configuración de Kubernetes del clúster de destino.

Los administradores no interactúan con el agente, ya que este se basa en recursos de Kubernetes personalizados (BackupJob y RestoreJob) que el servicio de copia de seguridad de GKE crea automáticamente en el clúster en respuesta a la creación de recursos de nube de copia de seguridad y restauración. Sin embargo, los administradores pueden influir en la orquestación de las copias de seguridad creando recursos de Kubernetes ProtectedApplication opcionales en el clúster. Estos ProtectedApplicationrecursos son exclusivos de Copia de seguridad de GKE y ofrecen opciones más detalladas para definir el ámbito de las copias de seguridad y las restauraciones.

Consulta Discontinuación de la versión preliminar del agente para obtener información sobre las diferencias entre las versiones preliminar y de disponibilidad general del agente.

Redundancia zonal

En la siguiente sección se describe la redundancia zonal de Copia de seguridad de GKE.

  • Los artefactos de Backup for GKE se replican en varias zonas de una región, lo que garantiza que las operaciones continúen aunque se produzca una interrupción en una zona.
  • Copia de seguridad de GKE como servicio se replica en al menos tres zonas de cada región, lo que proporciona redundancia y resiliencia adicionales.
  • La función de copia de seguridad de GKE no toma ninguna decisión a nivel de zona al almacenar datos. Copia de seguridad de GKE se basa en las instalaciones regionales subyacentes para gestionar la replicación a nivel de zona.

Qué no se incluye en las copias de seguridad

Solo puedes crear copias de seguridad de recursos de Kubernetes y volúmenes persistentes subyacentes con Copia de seguridad de GKE. Copia de seguridad de GKE no crea copias de seguridad de lo siguiente:

  • Información de configuración del clúster de GKE, como la configuración de los nodos, los grupos de nodos, el tamaño inicial del clúster o las funciones habilitadas.
  • Imágenes de contenedor a las que hace referencia una copia de seguridad. Solo se crea una copia de seguridad de los recursos de Kubernetes que describen la carga de trabajo y hacen referencia a las imágenes de contenedor. Si se elimina una imagen a la que hace referencia un manifiesto de carga de trabajo en una copia de seguridad de su repositorio de imágenes, no se podrá restaurar la carga de trabajo correctamente en una restauración posterior de esa configuración.
  • Información de configuración o estado de los servicios fuera del clúster, como Cloud SQL o balanceadores de carga externos.
  • Solo se crean copias de seguridad de los volúmenes de tipo Disco persistente. No se pueden crear copias de seguridad de otros tipos de volúmenes, como Filestore NFS o Google Cloud NetApp Volumes. Sin embargo, Backup para GKE se puede usar para proporcionar soluciones a las cargas de trabajo respaldadas por volúmenes de Filestore. Para obtener más información, consulta Gestionar volúmenes de Filestore con Backup for GKE.

Siguientes pasos