Copia de seguridad de Azure Kubernetes Service mediante Azure Backup

En este artículo, se describe cómo configurar y realizar copias de seguridad en Azure Kubernetes Service (AKS).

Puede usar Azure Backup para realizar copias de seguridad de clústeres AKS (recursos de clúster y volúmenes persistentes adjuntos al clúster) mediante la extensión Backup, que debe estar instalada en el clúster. El almacén de Backup se comunica con el clúster a través de la extensión Backup para realizar operaciones de copia de seguridad y restauración.

Nota:

La copia de seguridad con almacén y la restauración entre regiones para AKS mediante Azure Backup se encuentran actualmente en versión preliminar.

Antes de comenzar

  • Actualmente, la copia de seguridad de AKS solo admite volúmenes persistentes basados en Azure Disk Storage (habilitados por el controlador CSI). Las copias de seguridad solo se almacenan en un almacén de datos operativo (los datos de copia de seguridad se almacenan en el inquilino y no se mueven a un almacén). El almacén de Backup y el clúster de AKS deben estar en la misma región.

  • La copia de seguridad de AKS usa un contenedor de blobs y un grupo de recursos para almacenar las copias de seguridad. El contenedor de blobs contiene los recursos del clúster de AKS. Las instantáneas de volumen persistente se almacenan en el grupo de recursos. El clúster de AKS y las ubicaciones de almacenamiento deben estar en la misma región. Obtenga información sobre cómo crear un contenedor de blobs.

  • Actualmente, la copia de seguridad de AKS admite una copia de seguridad una vez al día. También admite copias de seguridad más frecuentes (en intervalos de 4 horas, 8 horas y 12 horas) al día. Permite conservar los datos para su restauración durante un máximo de 360 días. Obtenga información acerca de cómo crear una directiva de copias de seguridad.

  • Debe instalar la extensión Backup para configurar las operaciones de copia de seguridad y restauración de un clúster de AKS. Obtenga más información acerca de la extensión Backup.

  • Asegúrese de que Microsoft.KubernetesConfiguration, Microsoft.DataProtection, y la marca de características TrustedAccessPreview en Microsoft.ContainerService estén registradas para la suscripción antes de iniciar operaciones de configuración y restauración de copia de seguridad.

  • Asegúrese de realizar todos los requisitos previos antes de iniciar una operación de copia de seguridad o restauración para la copia de seguridad de AKS.

Para obtener más información acerca de los escenarios admitidos, las limitaciones y la disponibilidad, consulte la matriz de compatibilidad.

Creación de un almacén de Backup

Un almacén de Backup es una entidad de administración que almacena los puntos de recuperación tratados a lo largo del tiempo. Un almacén de Backup también proporciona una interfaz para realizar las operaciones de copia de seguridad. Las operaciones incluyen realizar copias de seguridad a petición, realizar restauraciones y crear directivas de copia de seguridad. La copia de seguridad de AKS requiere que el almacén de Backup y el clúster de AKS estén en la misma región. Obtenga información sobre cómo crear un almacén de Backup.

Nota:

Un almacén de Backup es un nuevo recurso que se usa para realizar copias de seguridad de los orígenes de datos recién admitidos. Un almacén de Backup es diferente de un almacén de Recovery Services.

Si desea usar Azure Backup para proteger los clústeres de AKS frente a cualquier interrupción regional:

  1. Establezca el parámetro Redundancia del almacenamiento de copia de seguridad como Redundante a nivel global durante la creación del almacén. Una vez establecida la redundancia de un almacén, no se puede deshabilitar.

    Screenshot shows how to enable the Backup Storage Redundance parameter.

  2. Establezca el parámetro Restauración entre regiones en Propiedades del almacén como Habilitado. Una vez habilitado este parámetro, no se puede deshabilitar.

    Screenshot shows how to enable the Cross Region Restore parameter.

  3. Cree una instancia de copia de seguridad con una directiva de copia de seguridad con una duración de retención definida para el almacén de datos estándar del almacén. Cada punto de recuperación almacenado en este almacén de datos estará en la región secundaria.

    Nota:

    El almacén de datos estándar del almacén está actualmente en versión preliminar.

Crear una directiva de copia de seguridad

Antes de configurar las copias de seguridad, debe crear una directiva de copia de seguridad que defina la frecuencia de las copias de seguridad y la duración de retención de las copias de seguridad.

También puede crear una directiva de copia de seguridad al configurar la copia de seguridad.

Para crear una directiva de copia de seguridad:

  1. Vaya al Centro de copia de seguridad y seleccione Directiva para crear una nueva directiva de copia de seguridad.

    Screenshot that shows how to start creating a backup policy.

    Como alternativa, vaya a Centro de copias de seguridad>Directivas de Backup>Agregar.

  2. Para los tipo de datos, seleccione Kubernetes Service y continúe.

    Screenshot that shows selecting the datasource type.

  3. Escriba un nombre para la directiva de copia de seguridad (por ejemplo, Directiva predeterminada) y seleccione el almacén de Backup (el nuevo almacén de Backup que ha creado) donde debe crearse la directiva de copia de seguridad.

    Screenshot that shows providing the backup policy name.

  4. En la pestaña Programación y retención, defina la frecuencia de las copias de seguridad y cuánto tiempo deberían conservarse en nivel operativo y de almacén (también denominado almacén de datos).

    Frecuencia de copia de seguridad: seleccione la frecuencia de copia de seguridad (cada hora o diariamente) y, a continuación, elija la duración de la retención de las copias de seguridad.

    Screenshot that shows selection of backup frequency.

    Configuración de la retención: una nueva directiva de copia de seguridad tiene dos reglas de retención.

    Screenshot that shows selection of retention period.

    También es posible crear reglas de retención adicionales para almacenar copias de seguridad de mayor duración que se realicen diariamente o semanalmente.

    • Valor predeterminado: esta regla define la duración de retención predeterminada para todas las copias de seguridad de nivel operativo realizadas. Solo se puede editar esta regla y no es posible eliminarla.

    • Primera copia de seguridad correcta diaria: además de la regla predeterminada, cada primera copia de seguridad correcta del día se puede conservar en el almacén de datos operativo y en el almacén estándar del almacén. Es posible editar y eliminar esta regla (si desea conservar las copias de seguridad en el almacén de datos operativo).

      Screenshot that shows the retention configuration for Vault Tier and Operational Tier.

    También puede definir reglas similares para la primera copia de seguridad correcta realizada cada semana, mes y año.

    Nota:

    • Además de la primera copia de seguridad correcta del día, puede definir las reglas de retención para la primera copia de seguridad correcta de la semana, el mes y el año. En términos de prioridad, el orden es año, mes, semana y día.
    • El almacén de datos estándar del almacén está actualmente en versión preliminar. Si no desea usar la característica, edite la regla de retención y desactive la casilla situada junto al almacén de datos estándar del almacén.
    • Las copias de seguridad almacenadas en el nivel de almacén también se pueden copiar en la región secundaria (región emparejada de Azure) que puede usar para restaurar clústeres de AKS en una región secundaria cuando la región primaria no está disponible. Para optar por esta función, utilice un almacén georredundante con la función de restauración entre regiones activada.
  5. Cuando se configuren la frecuencia de copia de seguridad y la configuración de retención, seleccione Siguiente.

    Screenshot that shows the completion of a backup policy creation.

  6. En la pestaña Revisar y crear, revise la información y seleccione Crear.

Configuración de copias de seguridad

Puede usar la copia de seguridad de AKS para realizar copias de seguridad de un clúster completo o recursos de clúster específicos que se implementan en el clúster. También puede proteger un clúster varias veces según la programación y los requisitos de retención de la aplicación implementada o los requisitos de seguridad.

Nota:

Para configurar varias instancias de copia de seguridad para el mismo clúster AKS:

  • Configure la copia de seguridad en el mismo almacén de Backup, pero con una directiva de copia de seguridad diferente.
  • Configure la copia de seguridad en otro almacén de Backup.

Para configurar copias de seguridad para el clúster de AKS:

  1. En Azure Portal, vaya al clúster de AKS del que desea realizar una copia de seguridad.

  2. En el menú de recursos, seleccione Backup, y a continuación, seleccione Configurar Backup.

  3. Para preparar el clúster AKS para la copia de seguridad o la restauración, seleccione Instalar extensión para instalar la extensión Copia de seguridad en el clúster.

  4. Proporcione una cuenta de almacenamiento y un contenedor de blobs como entrada.

    Las copias de seguridad del clúster de AKS se almacenan en este contenedor de blobs. La cuenta de almacenamiento debe estar en la misma región y suscripción que el clúster.

    Seleccione Siguiente.

    Screenshot that shows how to add storage and blob details for backup.

  5. Revise los detalles de instalación de la extensión y a continuación, seleccione Crear.

    Comience la instalación de la extensión.

    Screenshot that shows how to review and install the Backup extension.

  6. Una vez que se haya instalado la extensión de copia de seguridad correctamente, seleccione Configurar copia de seguridad para empezar a configurar las copias de seguridad del clúster de AKS.

    También puede realizar esta acción en el centro de Backup.

    Screenshot that shows the selection of Configure Backup.

  7. Seleccione el almacén de Backup.

    Screenshot that shows how to choose a vault.

    El almacén de copia de seguridad debe tener habilitado el acceso de confianza para que se realice una copia de seguridad del clúster de AKS. Para habilitar el acceso de confianza, seleccione Conceder permiso. Si ya está habilitado, seleccione Siguiente.

    Screenshot that shows how to proceed to the next step after granting permission.

    Nota:

    • Antes de habilitar el acceso de confianza, habilite la marca de característica TrustedAccessPreview para el proveedor de recursos Microsoft.ContainerServices en la suscripción.
    • Si el clúster de AKS no tiene instalada la extensión Backup, puede realizar el paso de instalación que configura la copia de seguridad.
  8. Seleccione la directiva de copia de seguridad, que define la programación de las copias de seguridad y su período de retención. Seleccione Siguiente.

    Screenshot that shows how to choose a backup policy.

  9. En la pestaña Orígenes de datos, seleccione Agregar o editar para definir la configuración de la instancia de copia de seguridad.

    Screenshot that shows how to define the Backup Instance Configuration.

  10. En el panel Seleccionar Recursos de Backup, defina los recursos del clúster de los que desea realizar una copia de seguridad.

    Obtenga más información sobre las configuraciones de copia de seguridad.

    Screenshot that shows how to define the cluster resources for backup.

  11. En Instantánea de grupo de recursos, seleccione el grupo de recursos que desea usar para almacenar las instantáneas del volumen persistente (Azure Disk Storage). A continuación, seleccione Validar.

    Screenshot that shows how to validate the snapshot resource group.

  12. Una vez finalizada la validación, si no se asignan roles necesarios al almacén en el grupo de recursos de instantáneas, aparece un error:

    Screenshot that shows a validation error when required permissions aren't assigned.

  13. Para resolver el error, en Nombre del origen de datos, seleccione el origen de datos y a continuación, seleccione Asignar roles que faltan.

    Screenshot that shows how to start assigning roles.

    En la captura de pantalla siguiente se muestra la lista de roles que puede seleccionar:

    Screenshot that shows how to select missing roles.

  14. Cuando finalice la asignación de roles, seleccione Siguiente.

    Screenshot that shows how to proceed to the backup configuration.

  15. Seleccione Configurar copia de seguridad.

  16. Cuando finalice la configuración, seleccione Siguiente.

    Screenshot that shows how to finish backup configuration.

    La instancia de copia de seguridad se crea cuando finaliza la configuración de copia de seguridad.

    Screenshot that shows the list of created backup instances.

    Screenshot that shows the backup instance details.

Configuraciones de copia de seguridad

Como parte de la funcionalidad de copia de seguridad de AKS, puede realizar una copia de seguridad de todos los recursos del clúster o de recursos de clúster específicos. Puede usar los filtros disponibles para la configuración de copia de seguridad para elegir los recursos de los que se va a realizar una copia de seguridad. Se hace referencia a las configuraciones de copia de seguridad definidas por los valores de Nombre de instancia de Backup. Puede usar las siguientes opciones para seleccionar los valores de Espacios de nombres para hacer una copia de seguridad:

  • Todos (incluidos los espacios de nombres futuros):se realiza una copia de seguridad de todos los valores actuales y futuros de los Espacios de nombres cuando se realiza una copia de seguridad de los recursos del clúster subyacentes.

  • Elegir entre la lista: seleccione los valores específicos de espacios de nombres en el clúster de AKS para realizar copias de seguridad.

    Para seleccionar recursos de clúster específicos para realizar copias de seguridad, puede usar etiquetas asociadas a los recursos para incluir los recursos en la copia de seguridad. Solo se realiza una copia de seguridad de los recursos que tienen las etiquetas que escriba. Puede usar varias etiquetas.

    Nota:

    Debe agregar las etiquetas a cada archivo YAML que se implemente y se realice una copia de seguridad. Esto incluye recursos con ámbito de espacio de nombres, como notificaciones de volumen persistentes y recursos con ámbito de clúster, como volúmenes persistentes.

    Si también desea realizar una copia de seguridad de recursos, secretos y volúmenes persistentes con ámbito de clúster, seleccione los elementos de Otras opciones.

Screenshot that shows various backup configurations.

Uso de enlaces durante la copia de seguridad de AKS

En esta sección se describe cómo usar un enlace de copia de seguridad para crear una instantánea coherente con la aplicación del clúster de AKS con MySQL implementado (un volumen persistente que contiene la instancia de MySQL).

Puede usar enlaces personalizados en la copia de seguridad de AKS para realizar instantáneas coherentes con la aplicación de volúmenes. Los volúmenes se usan para las bases de datos que se implementan como cargas de trabajo en contenedor.

Mediante el uso de un enlace de copia de seguridad, puede definir los comandos para inmovilizar y descongelar un pod mySQL para que se pueda tomar una instantánea de aplicación del volumen. A continuación, la extensión de Backup organiza los pasos para ejecutar los comandos en los enlaces y toma la instantánea del volumen.

Una aplicación instantánea consistente de un Volumen con MySQL implementado se toma realizando las siguientes acciones:

  1. El pod que ejecuta MySQL está inmovilizado para que no se realice ninguna transacción nueva en la base de datos.
  2. Se toma una instantánea del volumen como copia de seguridad.
  3. El pod que ejecuta MySQL se desbloquea para que las transacciones se puedan realizar de nuevo en la base de datos.

Para habilitar un enlace de copia de seguridad como parte del flujo de configuración de copia de seguridad para realizar copias de seguridad de MySQL:

  1. Escriba el recurso personalizado para el enlace de Backup con comandos para inmovilizar y descongelar un pod de PostgreSQL.

    También puede usar el siguiente script YAML de ejemplo postgresbackuphook.yaml, que tiene comandos predefinidos:

    apiVersion: clusterbackup.dataprotection.microsoft.com/v1alpha1
    kind: BackupHook
    metadata:
    # BackupHook CR Name and Namespace
    name: bkphookname0
    namespace: default
    spec:
    # BackupHook Name. This is the name of the hook that will be executed during backup.
    # compulsory
    name: hook1
    # Namespaces where this hook will be executed.
    includedNamespaces: 
    - hrweb
    excludedNamespaces:
    labelSelector:
    # PreHooks is a list of BackupResourceHooks to execute prior to backing up an item.
    preHooks:
       - exec:
          command:
          - /sbin/fsfreeze
          - --freeze
          - /var/lib/postgresql/data
          container: webcontainer
          onError: Continue
    # PostHooks is a list of BackupResourceHooks to execute after backing up an item.
    postHooks:
       - exec:
          container: webcontainer
          command:
             - /sbin/fsfreeze
             - --unfreeze
          onError: Fail
          timeout: 10s
    
    
    
  2. Antes de configurar una copia de seguridad, debe implementar el recurso personalizado de enlace de copia de seguridad en el clúster de AKS.

    Para implementar el script, ejecute el siguiente comando:

    kubectl apply -f mysqlbackuphook.yaml
    
    
  3. Una vez finalizada la implementación, puede configurar la copia de seguridad del clúster de AKS.

    Nota:

    Como parte de una configuración de copia de seguridad, debe proporcionar el nombre del recurso personalizado y el espacio de nombres en el que se implementa el recurso como entrada.

    Screenshot that shows how to add the namespace for the backup configuration.

Pasos siguientes