Partekatu honen bidez:


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.

Requisitos previos

Aspectos que se deben asegurar antes de configurar la copia de seguridad para el clúster de AKS:

  • Actualmente, AKS Backup 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.
  • AKS Backup 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, AKS Backup admite copias 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 tiene Microsoft.KubernetesConfiguration, Microsoft.DataProtection y Microsoft.ContainerService registrados para la suscripción antes de iniciar las operaciones de configuración y restauración de copia de seguridad.
  • Asegúrese de completar todos los requisitos previos antes de iniciar una operación de copia de seguridad o restauración para AKS Backup.

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. AKS Backup 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, puede habilitar la restauración entre regiones. Para habilitar la restauración entre regiones, debe:

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

    Captura de pantalla que muestra cómo habilitar el parámetro Redundance de almacenamiento de copia de seguridad.

  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.

    Captura de pantalla que muestra cómo habilitar el parámetro Restauración entre regiones.

  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.

Creación de una directiva de copia de seguridad

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

Para crear una directiva de copia de seguridad:

  1. Vaya al almacén de Backup que creó y seleccione Administrar>Directivas de Backup>Agregar.

  2. Escriba un nombre para la directiva de copia de seguridad.

  3. Para tipo de origen de datos, seleccione Kubernetes Services.

  4. En la pestaña Programación y retención, defina la Programación de copia de seguridad.

    • 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.
    • Configuración de retención: una nueva directiva de copia de seguridad tiene la regla Predeterminada definida de forma predeterminada. Se puede editar esta regla y no es posible eliminarla. La regla predeterminada define la duración de retención de todas las copias de seguridad de nivel operativo realizadas. 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.

    Recorte de pantalla que muestra la configuración de retención.

    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.

    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.
    • Puede copiar copias de seguridad en la región secundaria (región emparejada de Azure) almacenadas en el nivel de almacén, 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.

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

Instalación de la extensión de Backup y configuración de la copia de seguridad

Puede usar AKS Backup 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.

Instalación de la extensión de Backup

Para configurar copias de seguridad para un 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 servicios, en Configuración, seleccione Copia de seguridad.

  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.

    Recorte de pantalla en el que se muestra cómo agregar detalles de almacenamiento y blob para la copia de seguridad.

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

    Comience la instalación de la extensión.

Configuración de la copia de seguridad

  1. Una vez que se haya instalado la extensión Backup correctamente, seleccione Configurar copia de seguridad.

  2. Seleccione el almacén de Backup que creó anteriormente. 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.

  3. En la pestaña directiva de Backup, seleccione la directiva de copia de seguridad, que define la programación de las copias de seguridad y su período de retención y, a continuación, seleccione Siguiente.

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

  5. 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.

  6. 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) y, a continuación, seleccione Validar.

    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:

    Recorte de pantalla en el que se muestra un error de validación cuando no se asignan los permisos necesarios.

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

  7. Cuando se complete la asignación de roles, seleccione Siguiente>Configurar copia de seguridad.

Configuraciones de copia de seguridad

Azure Backup para AKS permite definir el límite de la aplicación dentro del clúster de AKS del que se quiere realizar una copia de seguridad. Puede usar los filtros disponibles en las configuraciones de copia de seguridad para elegir los recursos de los que se va a realizar una copia de seguridad y también para ejecutar enlaces personalizados. Se hace referencia a la configuración de copia de seguridad definida mediante el valor de Nombre de instancia de copia de seguridad. Los filtros siguientes están disponibles para definir el límite de la aplicación:

  1. Seleccione Seleccionar espacios de nombres para realizar copias de seguridad. Puede seleccionar Todos para realizar copias de seguridad de todos los espacios de nombres existentes y futuros del clúster, o bien puede elegir seleccionar espacios de nombres específicos para la copia de seguridad.

    Los siguientes espacios de nombres se omiten de las configuraciones de Backup: kube-system, kube-node-lease y kube-public.

    Recorte de pantalla en el que se muestra cómo seleccionar espacios de nombres que se van a incluir en la copia de seguridad.

  2. Expanda Configuración de recursos adicionales para ver los filtros que puede usar para elegir los recursos del clúster de los que se va a realizar una copia de seguridad. Puede optar por realizar copias de seguridad de recursos en función de las siguientes categorías:

    • Etiquetas: puede filtrar los recursos de AKS mediante etiquetas que se asignan a tipos de recursos. Escriba etiquetas en forma de pares clave-valor. Puede combinar varias etiquetas mediante la lógica AND. Por ejemplo, si escribe las etiquetas env=prod;tier!=web, el proceso selecciona los recursos que tienen una etiqueta con la clave env y el valor de prod, y una etiqueta con la clave tier para la que el valor no web.
    • Grupos de API: también puede incluir recursos proporcionando el grupo y el tipo de API de AKS. Por ejemplo, puede elegir para realizar copias de seguridad de recursos de AKS, como Implementaciones. Aquí Puede acceder a la lista de grupos de API definidos por Kubernetes.
    • Otras opciones: puede habilitar o deshabilitar la copia de seguridad de recursos de ámbito de clúster, volúmenes persistentes y secretos. Los recursos con ámbito de clúster y los volúmenes persistentes están habilitados de manera predeterminada.

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.

Uso de enlaces durante AKS Backup

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 las copias 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.

Pasos siguientes