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ísticasTrustedAccessPreview
enMicrosoft.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:
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.
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.
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:
Vaya al Centro de copia de seguridad y seleccione Directiva para crear una nueva directiva de copia de seguridad.
Como alternativa, vaya a Centro de copias de seguridad>Directivas de Backup>Agregar.
Para los tipo de datos, seleccione Kubernetes Service y continúe.
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.
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.
Configuración de la retención: una nueva directiva de copia de seguridad tiene dos reglas 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.
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).
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.
Cuando se configuren la frecuencia de copia de seguridad y la configuración de retención, seleccione Siguiente.
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:
En Azure Portal, vaya al clúster de AKS del que desea realizar una copia de seguridad.
En el menú de recursos, seleccione Backup, y a continuación, seleccione Configurar Backup.
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.
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.
Revise los detalles de instalación de la extensión y a continuación, seleccione Crear.
Comience la instalación de la extensión.
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.
Seleccione el almacén de Backup.
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.
Nota:
- Antes de habilitar el acceso de confianza, habilite la marca de característica
TrustedAccessPreview
para el proveedor de recursosMicrosoft.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.
- Antes de habilitar el acceso de confianza, habilite la marca de característica
Seleccione la directiva de copia de seguridad, que define la programación de las copias de seguridad y su período de retención. Luego, seleccione Siguiente.
En la pestaña Orígenes de datos, seleccione Agregar o editar para definir la configuración de la instancia de copia de seguridad.
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.
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.
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:
Para resolver el error, en Nombre del origen de datos, seleccione el origen de datos y a continuación, seleccione Asignar roles que faltan.
En la captura de pantalla siguiente se muestra la lista de roles que puede seleccionar:
Cuando finalice la asignación de roles, seleccione Siguiente.
Seleccione Configurar copia de seguridad.
Cuando finalice la configuración, seleccione Siguiente.
La instancia de copia de seguridad se crea cuando finaliza la configuración de 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:
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 de la lista a fin de seleccionar espacios de nombres específicos para la copia de seguridad.
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. Combine varias etiquetas mediante lógica
AND
.
Por ejemplo, si escribe las etiquetas
env=prod;tier!=web
, el proceso selecciona los recursos que tienen una etiqueta con la claveenv
y el valor deprod
, y una etiqueta con la clavetier
para la que el valor noweb
.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. De manera predeterminada, se habilitan los recursos con ámbito de clúster y los volúmenes persistentes
Nota:
Todas estas opciones de configuración de recursos se combinan y se aplican a través de la lógica
AND
.- Etiquetas: puede filtrar los recursos de AKS mediante etiquetas que se asignan a tipos de recursos. Escriba etiquetas en forma de pares clave-valor. Combine varias etiquetas mediante lógica
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 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:
- El pod que ejecuta MySQL está inmovilizado para que no se realice ninguna transacción nueva en la base de datos.
- Se toma una instantánea del volumen como copia de seguridad.
- 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:
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
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
Una vez finalizada la implementación, puede configurar la copia de seguridad del clúster de AKS.