Copia de seguridad para GKE

Copia de seguridad para GKE es un servicio que se usa a fin de crear una copia de seguridad y restablecer las cargas de trabajo en clústeres de GKE. Tiene dos componentes:

  • Una API de Google Cloud que funciona como el plano de control del servicio.
  • Un complemento de GKE (el agente de Copia de seguridad para GKE) que debe estar habilitado en cada clúster en el que desees realizar operaciones de copia de seguridad y restablecimiento.

Las copias de seguridad de las cargas de trabajo pueden ser útiles para la recuperación ante desastres, las canalizaciones de CI/CD, las clonaciones de las cargas de trabajo o situaciones de actualización. Proteger las cargas de trabajo puede ayudarte a lograr los objetivos de punto de recuperación fundamentales para la empresa.

Introducción

Una vez habilitado, el servicio de copias de seguridad de GKE se integra en la IU de GKE, Google Cloud CLI y las API de REST, lo que proporciona flujos de trabajo coherentes para el desarrollo y las operaciones. Se capturan dos formas de datos en una copia de seguridad:

  • Copia de seguridad de configuración: Un conjunto de manifiestos de recursos de Kubernetes extraídos del servidor de la API del clúster que se somete a una copia de seguridad y que captura el estado del clúster.
  • Copias de seguridad de volúmenes: Un conjunto de copias de seguridad de volúmenes que corresponden a los recursos PersistentVolumeClaim que se encuentran en la copia de seguridad de la configuración.

Puedes elegir las cargas de trabajo de las que quieres crear una copia de seguridad o restablecer, o bien puedes realizar estas acciones en todas las cargas de trabajo. Puedes crear una copia de seguridad de las cargas de trabajo de un clúster y restablecerlas en otro. Puedes programar las copias de seguridad para que se ejecuten de forma automática, de modo que puedas responder con rapidez a fin de recuperar las cargas de trabajo en caso de que ocurra un incidente.

Copia de seguridad para GKE admite la creación de copias de seguridad o el restablecimiento de un clúster en varios 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 restablecimiento para un clúster de GKE en el mismo proyecto que el clúster.

Para restablecer una carga de trabajo, se deben volver a crear los recursos de Kubernetes en el clúster de destino. Después de que se crean los recursos, el restablecimiento de las capacidades de la carga de trabajo está sujeto al proceso de conciliación del clúster (por ejemplo, los Pods se programan en nodos y, luego, los Pods se inician en esos nodos). Durante el restablecimiento, puedes aplicar reglas de transformación de manera opcional, 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.

La combinación de la copia de seguridad y el restablecimiento selectivos con las sustituciones está diseñada para habilitar y admitir muchas situaciones de copia de seguridad y restablecimiento diferentes, por ejemplo:

  • Crear una copia de seguridad de todas las cargas de trabajo en un clúster y restablecerlas en un clúster separado para la recuperación ante desastres
  • Crear una copia de seguridad de todas las cargas de trabajo, pero revertir una sola carga de trabajo de forma selectiva en el clúster de origen
  • Crear una copia de seguridad de los recursos en un espacio de nombres y clonarlos en otro espacio de nombres
  • 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, transferir la carga de trabajo de un disco persistente zonal a un disco persistente regional)

Debes crear un clúster de destino con el servicio de copia de seguridad para GKE habilitado antes de poder crear una copia de seguridad de las cargas de trabajo o restablecerlas.

Arquitectura

La copia de seguridad para GKE consta de dos componentes principales:

  • Un servicio que se ejecuta en Google Cloud y admite una API de REST basada en recursos. Este servicio actúa como plano de control para la copia de seguridad de GKE. El servicio incluye elementos de la IU de la consola de Google Cloud que interactúan con esta API.
  • Un agente que se ejecuta en cada clúster en el que se realizan copias de seguridad o restablecimientos. El agente interactúa con la API de Backup for GKE para ejecutar operaciones de copia de seguridad y restablecimiento en estos clústeres.

En el siguiente diagrama, se muestra la relación entre los diferentes componentes de copia de seguridad para GKE:

Arquitectura de la copia de seguridad para GKE

Descripción general del servicio

El servicio de copia de seguridad para GKE proporciona un extremo de API con el que los clientes pueden interactuar. La API de Copia de seguridad para GKE, como la mayoría de las APIs, opera en recursos de nube específicos de la aplicación en una jerarquía de recursos. Google Cloud La copia de seguridad para GKE administra una base de datos de estos recursos específicos de la aplicación y los métodos de la API del servicio corresponden, en su mayoría, a las 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 de la nube:

  • Backup: Representa la copia de seguridad de una parte específica de un clúster de GKE en un momento específico. La creación de un recurso Backup inicia el proceso de copia de seguridad (con el fin de almacenar copias de los recursos de Kubernetes de destino y crear instantáneas de los volúmenes de discos persistentes de destino). Si se borra un Backup, se borran estos artefactos almacenados.
  • Restore: Representa el restablecimiento de una parte seleccionada de un Backup específico en un clúster de GKE. Crear un recurso Restore inicia el proceso de restablecimiento. Borrar un Restore no tiene efectos secundarios y quita el registro del restablecimiento de la base de datos.

La copia de seguridad para GKE también incluye dos tipos de recursos de control y configuración:

  • BackupPlan: Un recurso superior de los recursos Backup que representan una cadena de copias de seguridad. Este recurso contiene una configuración de copia de seguridad que incluye el clúster de origen, la selección de las cargas de trabajo de las que se creará una copia de seguridad y la región en la que se almacenan los artefactos Backup producidos en este plan. Esta región puede ser cualquiera de las ubicaciones admitidas. Para 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 salientes. Para obtener más información, consulta los precios de Copia de seguridad para GKE.

  • RestorePlan: Proporciona una plantilla de restablecimiento reutilizable. Este recurso contiene una configuración de restablecimiento que incluye el clúster de destino en el que deseas restablecer la copia de seguridad, el plan de copia de seguridad de origen, el alcance del restablecimiento, el control de conflictos y las reglas de transformación. Antes de crear un plan de restablecimiento, debes crear el clúster de destino. Copia de seguridad para GKE no crea el clúster de destino durante un restablecimiento.

Descripción general del agente

El agente de copia de seguridad para GKE se implementa y se ejecuta en cada clúster de GKE que configuras para que el servicio de copia de seguridad de GKE cree una copia de seguridad de ellos. El agente es responsable de ejecutar las actividades de copia de seguridad y restablecimiento, por ejemplo:

  • Copia de seguridad:

    • Organizar el proceso de copia de seguridad
    • Recuperar recursos del servidor de la API de Kubernetes, serializarlos en un archivo y almacenarlos en él
    • Crear copias de seguridad de volúmenes subyacentes asociados con PersistentVolumeClaims
  • Restablecimiento:

    • Organizar el proceso de restablecimiento
    • Recuperar el archivo de recursos de Kubernetes desde el 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 el agente es controlado por recursos personalizados de Kubernetes (BackupJob y RestoreJob) que crea de forma automática en el clúster el servicio de Copia de seguridad para GKE en respuesta a la creación de copias de seguridad y el restablecimiento de recursos en la nube. Sin embargo, los administradores pueden influir en la organización de las copias de seguridad mediante la creación de recursos ProtectedApplication de Kubernetes opcionales en el clúster. Estos recursos ProtectedApplication son exclusivos de la copia de seguridad de GKE y proporcionan opciones más detalladas para definir el alcance de la copia de seguridad y el restablecimiento.

Consulta Baja de la vista previa del agente para obtener información sobre las diferencias entre las versiones preliminares y de disponibilidad general del agente.

Redundancia zonal

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

  • Los artefactos de la copia de seguridad para GKE se replican en varias zonas dentro de una región, lo que garantiza la operación continua, incluso si una zona experimenta una interrupción.
  • El servicio de copia de seguridad para GKE se replica en al menos tres zonas dentro de cada región, lo que proporciona mayor redundancia y capacidad de recuperación.
  • La Copia de seguridad para GKE no toma decisiones a nivel de la zona cuando almacena datos. La Copia de seguridad para GKE se basa en las instalaciones regionales subyacentes para controlar la replicación a nivel de la zona.

Contenido del que no se crea una copia de seguridad

Solo puedes crear una copia de seguridad de los recursos de Kubernetes y los volúmenes persistentes subyacentes con la copia de seguridad para GKE. La copia de seguridad para GKE no realiza una copia de seguridad del siguiente contenido:

  • 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 una imagen a la que hace referencia el manifiesto de carga de trabajo en una copia de seguridad se quita de su repositorio de imágenes, un restablecimiento posterior de esa configuración no restablecerá correctamente la carga de trabajo.
  • Información de configuración o estado de los servicios fuera del clúster, como Cloud SQL o balanceadores de cargas externos
  • Solo se crean copias de seguridad de los volúmenes de tipo Persistent Disk. No se crea una copia de seguridad de otros tipos de volúmenes, como NFS de Filestore o Google Cloud NetApp Volumes. Sin embargo, la Copia de seguridad para GKE puede usarse para brindar soluciones a las cargas de trabajo respaldadas por volúmenes de Filestore. Para obtener más información, consulta Administra volúmenes de Filestore con Copia de seguridad para GKE.

¿Qué sigue?