Conecte el clúster de copia de seguridad a un clúster registrado bajo la cuenta de restauración para habilitar la copia de seguridad y restauración de aplicaciones entre cuentas.
Funcionamiento
El clúster de copia de seguridad se conecta a un clúster registrado bajo la cuenta de restauración. El centro de copias de seguridad del clúster registrado gestiona la copia de seguridad y la restauración en ambas cuentas.
Elementos incluidos en la copia de seguridad
|
Tipo de recurso |
Incluido en la copia de seguridad |
Notas |
|
Recursos de Kubernetes (StatefulSet, Deployment, pod, Service, ConfigMap, Secret, Ingress, CronJob, PersistentVolumeClaim (PVC), PersistentVolume (PV), etc.) |
Sí |
— |
|
Volúmenes NAS (mediante Cloud Backup) |
Sí |
No es posible crear copias de seguridad ni restaurar entre cuentas a través de VPC |
|
Volúmenes de disco (mediante Cloud Backup o instantánea de ECS) |
Sí |
Requiere pasos adicionales entre cuentas con la solución de instantáneas de ECS |
|
Volúmenes OSS |
No |
Se restauran mediante la asignación al bucket OSS original con el par de AccessKey del clúster de copia de seguridad |
|
Recursos que se están eliminando |
No |
— |
Requisitos previos
Asegúrese de contar con lo siguiente:
Cloud Backup activado: se utiliza para las copias de seguridad basadas en archivos de volúmenes NAS, buckets OSS y volúmenes de disco locales.
Un clúster de restauración que ejecute Kubernetes 1.16 o posterior (1.18 o posterior para la restauración de discos basada en instantáneas de ECS). Consulte Create an ACK managed cluster, Create an ACK dedicated cluster (discontinued) o Crear un proxy de registro de clúster y registrar un clúster de Kubernetes desplegado en un centro de datos.
El clúster de restauración debe usar el plugin Container Storage Interface (CSI). Los clústeres que usan FlexVolume o
csi-compatible-controllercon FlexVolume no son compatibles.CSI 1.1.0 o posterior instalado (obligatorio para la copia de seguridad de volúmenes basada en instantáneas de disco).
Instale y configure a continuación los componentes indicados en el clúster de restauración antes de ejecutar una tarea de restauración:
aliyun-acr-credential-helper (componente sin contraseña de Container Registry): otorgue permisos y configure
acr-configuration.alb-ingress-controller (componente ALB Ingress): configure un ALBConfig.
Facturación
El centro de copias de seguridad es gratuito. Es posible que se le cobren los siguientes servicios:
|
Cargo |
Cuándo aplica |
Detalles |
|
Todos los escenarios de copia de seguridad, ya que OSS almacena los archivos YAML de la copia de seguridad |
Aplican las tarifas estándar de almacenamiento de OSS |
|
|
Copias de seguridad de volúmenes de disco con la solución de instantáneas de ECS |
A partir del 12 de octubre de 2023 a las 11:00 (UTC+8), la función de acceso instantáneo ya no genera cargos de almacenamiento ni de uso. Los discos ESSD (SSD mejorado) PL0–PL3 y ESSD AutoPL tienen el acceso instantáneo habilitado de forma predeterminada |
|
|
Copias de seguridad de volúmenes NAS y de volúmenes de disco con la solución Cloud Backup |
No aplica para la restauración de volúmenes OSS |
Limitaciones
Ambos clústeres deben ejecutar Kubernetes 1.16 o posterior. No se recomienda migrar aplicaciones de una versión más reciente de Kubernetes a una anterior.
Para la restauración entre regiones, cree el clúster registrado en la misma región que el clúster de restauración. El clúster de copia de seguridad se conecta por Internet, mientras que la restauración usa la red interna.
-
El centro de copias de seguridad restaura los recursos a una versión de API compatible en el clúster de restauración. Si no existe ninguna versión compatible, despliegue el recurso manualmente. Consulte Notas de la versión de las versiones de Kubernetes compatibles con ACK y la guía oficial Deprecated API Migration Guide.
Los Deployments en un clúster de Kubernetes 1.16 admiten
extensions/v1beta1,apps/v1beta1,apps/v1beta2yapps/v1. Tras la migración a Kubernetes 1.28, la versión de la API de Deployment se restaura comoapps/v1.Los Ingresses en un clúster de Kubernetes 1.16 admiten
extensions/v1beta1ynetworking.k8s.io/v1beta1. No es posible restaurar Ingresses en un clúster que ejecute Kubernetes 1.22 o posterior.
ImportanteEn Kubernetes 1.16,
appsyrbac.authorization.k8s.ioya admiten la versión v1 de la API. Después de migrar a Kubernetes 1.28, restaure manualmente los recursos Ingress y CronJob. La plantilla del centro de copias de seguridad para clústeres registrados difiere de la de los clústeres ACK estándar. Cuando conecte o desconecte el clúster de copia de seguridad, reinstale el componente del centro de copias de seguridad en el clúster de destino.
Las instantáneas de ECS creadas en el clúster registrado pertenecen a la cuenta del clúster de copia de seguridad. Para restaurar volúmenes de disco en la cuenta de restauración, comparta las instantáneas entre cuentas (solución de instantáneas de ECS) o utilice Cloud Backup.
Para restaurar volúmenes NAS gestionados por CNFS (StorageClass:
alibabacloud-cnfs-nas), primero debe crear la StorageClass.Si existe un recurso con el mismo nombre en el clúster de restauración, el centro de copias de seguridad lo omite. Las restauraciones no son destructivas.
Aplicaciones de ejemplo
Estas aplicaciones de ejemplo ilustran el comportamiento de copia de seguridad y restauración para cada tipo de volumen.
|
Aplicación |
Tipo de volumen |
PVC |
Se requiere copia de seguridad de datos |
Notas |
|
sts-disk |
Volumen de disco |
pvc-disk |
Sí (Cloud Backup o instantánea de ECS) |
Requiere consistencia de datos; suspenda las operaciones de escritura antes de la copia de seguridad |
|
sts-nas |
Volumen NAS |
pvc-nas |
Sí (Cloud Backup) |
No es posible crear copias de seguridad ni restaurar entre cuentas a través de VPC; el clúster de restauración no puede leer los datos NAS originales |
|
sts-oss |
Volumen OSS |
pvc-oss |
No |
Se restaura mediante la asignación al bucket OSS original con el par de AccessKey del clúster de copia de seguridad |
Para crear aplicaciones con distintos tipos de volumen, consulte Storage - CSI.
Elección de una solución de copia de seguridad de discos
Elija una solución cuando su aplicación use volúmenes de disco.
|
Solución Cloud Backup |
Solución de instantáneas de ECS |
|
|
Funcionamiento |
Establezca |
Establezca |
|
Ventajas |
No requiere configuración manual adicional |
Más rápida; garantiza la consistencia de los datos en el mismo disco |
|
Desventajas |
Más lenta; no garantiza la consistencia de los datos |
Requiere pasos manuales para cada volumen de disco |
|
Recomendada cuando |
Su aplicación no exige una consistencia estricta de datos o tiene muchos volúmenes de disco |
Su aplicación requiere consistencia de datos y usted puede completar los pasos para compartir la instantánea |
Para aplicaciones sin volúmenes de disco, utilice la solución Cloud Backup.
(Opcional) Paso 1: Desinstalar el componente del centro de copias de seguridad en el clúster de copia de seguridad
Omita este paso si migrate-controller no está instalado en el clúster de copia de seguridad.
Si el centro de copias de seguridad ya está instalado en el clúster de copia de seguridad, desinstálelo primero. La plantilla para clústeres registrados difiere de la de los clústeres ACK estándar, por lo que ambas no pueden coexistir.
Inicie sesión en la consola de ACK con la cuenta del clúster de copia de seguridad. En el panel de navegación izquierdo, haga clic en Clusters.
En la página Clusters, haga clic en el nombre del clúster de copia de seguridad. En el panel de navegación izquierdo, haga clic en Add-ons.
En la página Add-ons, haga clic en la pestaña Manage Applications.
Busque migrate-controller y haga clic en Uninstall.
En el mensaje Uninstall, haga clic en OK.
Paso 2: Instalar el componente del centro de copias de seguridad en el clúster registrado
Utilice la cuenta de restauración para crear un clúster registrado y conectar a él el clúster de copia de seguridad.create a registered cluster y conectar a él el clúster de copia de seguridad.
-
Install migrate-controller and grant permissions en el clúster registrado.
El clúster registrado se encuentra en la misma región que el clúster de copia de seguridad, por lo que no se necesita una ruta de red interna de OSS.
Paso 3: Crear una tarea de copia de seguridad en el clúster registrado
Ejecute este paso en el clúster registrado bajo la cuenta de restauración, no en el clúster de copia de seguridad.
Solución Cloud Backup
Elija esta opción para una configuración más sencilla con volúmenes de disco o cuando su aplicación no tenga volúmenes de disco.
-
Deshabilite la función de instantáneas de ECS.
-
Edite el ConfigMap
csdr-config:kubectl -ncsdr edit cm csdr-config Establezca
enable_ecs_snapshotcomofalse. Guarde los cambios y salga.-
Reinicie el controlador:
kubectl -ncsdr delete pod -l control-plane=csdr-controller
-
Si la cuenta de restauración no tiene un almacén de copias de seguridad, create one y asócielo con el bucket OSS
cnfs-oss-*de dicha cuenta.-
Create a backup task para la aplicación sts-oss.
Establezca Backup Volume como Disable: sts-oss se asigna al bucket OSS original y no requiere copia de seguridad del volumen.
Seleccione el namespace
oss. Si el namespace contiene otras aplicaciones, agregue etiquetas para seleccionar únicamentests-oss.En la pestaña Backup Records de la página Application Backup, espere a que el estado cambie de InProgress a Completed. Haga clic en el nombre del registro y compruebe que se haya creado la copia de seguridad del StatefulSet, el pod, el PVC, el PV y el Secret (que contiene el par de AccessKey).
-
Create a backup task para las aplicaciones sts-nas y sts-disk.
Establezca Backup Volume como Mounted Volumes.
Con
enable_ecs_snapshotestablecido comofalse, Cloud Backup procesa los datos del volumen de disco. Supervise el progreso en la consola de Cloud Backup, en Container Backup > Backup Jobs.
Solución de instantáneas de ECS
Esta alternativa es adecuada cuando su aplicación usa volúmenes de disco y requiere consistencia de datos.
-
Habilite la función de instantáneas de ECS.
-
Edite el ConfigMap
csdr-config:kubectl -ncsdr edit cm csdr-config Establezca
enable_ecs_snapshotcomotrue. Guarde los cambios y salga.-
Reinicie el controlador:
kubectl -ncsdr delete pod -l control-plane=csdr-controller
-
Si la cuenta de restauración no tiene un almacén de copias de seguridad, create one y asócielo con el bucket OSS
cnfs-oss-*de dicha cuenta.-
Create a backup task para la aplicación sts-oss.
Establezca Backup Volume como Disable.
Seleccione el namespace
oss. Si el namespace contiene otras aplicaciones, agregue etiquetas para seleccionar únicamentests-oss.En la pestaña Backup Records, espere a que el estado cambie a Completed y compruebe que se hayan incluido todos los recursos relacionados en la copia de seguridad.
-
Create a backup task denominada backup-nas-disk para las aplicaciones sts-nas y sts-disk.
Establezca Backup Volume como Mounted Volumes.
De forma predeterminada, los datos del volumen de disco se respaldan mediante instantáneas de ECS. Consulte las instantáneas en la consola de ECS, en Snapshots > Disk Snapshots.
Los datos del volumen NAS se respaldan mediante Cloud Backup. Supervise el progreso en la consola de Cloud Backup, en Container Backup > Backup Jobs.
Paso 4: Crear una tarea de restauración en el clúster de restauración
Las restauraciones no son destructivas. Si existe un recurso con el mismo nombre en el clúster de restauración, el centro de copias de seguridad lo omite.
Comportamiento de restauración de servicios:
|
Tipo de servicio |
Comportamiento de restauración |
|
NodePort |
Los puertos se conservan de forma predeterminada |
|
LoadBalancer con |
HealthCheckNodePort usa un puerto aleatorio de forma predeterminada. Establezca |
|
LoadBalancer que usa una instancia SLB existente |
El Service restaurado conserva la instancia SLB original, pero todos los listeners quedan deshabilitados. Configure los listeners manualmente en la consola de SLB |
|
LoadBalancer gestionado por cloud controller manager (CCM) |
El CCM crea nuevas instancias SLB durante la restauración. Consulte Considerations for configuring a LoadBalancer type Service |
Solución Cloud Backup
Utilice la cuenta del clúster de restauración para completar estos pasos.
-
Restaure la aplicación sts-oss. Consulte Restore applications and volumes.
En la página Application Backup, haga clic en Back up Now, seleccione e inicialice el almacén de copias de seguridad, y espere a que se sincronice el archivo de copia de seguridad.
Seleccione el archivo de copia de seguridad backup-oss y cree una tarea de restauración.
Compruebe que sts-oss se esté ejecutando. Use
kubectl execpara iniciar sesión en el contenedor y verificar la consistencia de los datos.
-
Restaure las aplicaciones sts-nas y sts-disk con conversión de StorageClass. Consulte Restore applications and volumes.
En la página Application Backup, haga clic en Back up Now y seleccione backup-nas-disk. Para la conversión de StorageClass, seleccione
alicloud-diskparapvc-diskyalibabacloud-cnfs-nasparapvc-nas.alicloud-disktoma de forma predeterminada la StorageClassalicloud-disk-topology-alltypedel plugin CSI. También puede utilizar una StorageClass personalizada.Verifique las aplicaciones y los datos. En la consola de ECS, compruebe que se hayan creado nuevos discos en la cuenta de restauración y que estén montados en los nodos correctos.
Solución de instantáneas de ECS
-
Con la cuenta del clúster de restauración, restaure la aplicación sts-oss. Consulte Restore applications and volumes.
En la página Application Backup, haga clic en Back up Now, seleccione e inicialice el almacén de copias de seguridad, y espere a que se sincronice el archivo de copia de seguridad.
Seleccione el archivo de copia de seguridad backup-oss y cree una tarea de restauración.
Compruebe que sts-oss se esté ejecutando con
kubectl exec.
Utilice la cuenta del clúster de copia de seguridad para compartir las instantáneas de disco con la cuenta de restauración. En la consola de ECS, comparta cada instantánea. Las instantáneas del centro de copias de seguridad llevan el prefijo
snapshot-. Asócielas con los registros de copia de seguridad según su fecha de creación.-
Antes de aceptar las instantáneas compartidas, registre las asignaciones de PVC a instantánea en la cuenta de copia de seguridad. Estas asignaciones son obligatorias para la restauración manual.
En la consola de ECS, registre la correspondencia entre cada ID de instantánea y su ID de disco.
-
En el clúster de copia de seguridad, consulte el PVC y el ID de disco de cada PV que use un volumen de disco:
kubectl get pv <PV-Name> -o jsonpath='{"PVC: "}{.spec.claimRef.name}{"\nNamespace: "}{.spec.claimRef.namespace}{"\nVolumeHandle: "}{.spec.csi.volumeHandle}'Salida esperada:
PVC: <disk-pvc-name> Namespace: <disk-pvc-namespace> VolumeHandle: d-2ze323ra0h2v5lxxxxxUtilice estas asignaciones para vincular cada PVC con su ID de instantánea correspondiente.
Use la cuenta del clúster de restauración para iniciar sesión en la consola de Resource Management y aceptar las instantáneas compartidas. Los nombres de las instantáneas se mantienen, pero los ID cambian. Utilice los nombres y las asignaciones del paso 3 para vincular cada PVC con el nuevo ID de instantánea.
-
Restaure manualmente los volúmenes de disco en el clúster de restauración.
Mediante aprovisionamiento estático, cree un VolumeSnapshotContent y un VolumeSnapshot en el clúster de restauración. Consulte Create a snapshot of a disk volume. Cree el VolumeSnapshot en el mismo namespace que el PVC de destino. Establezca
snapshotHandledel VolumeSnapshotContent con el nuevo ID de instantánea.Cree un PVC con el mismo nombre que el original y que haga referencia al VolumeSnapshot. Consulte el paso 6 en Create a snapshot of a disk volume. El nuevo PVC coincide con la configuración original e incluye un parámetro
dataSourceadicional que apunta al VolumeSnapshot.
-
Restaure las aplicaciones sts-nas y sts-disk. Consulte Restore applications and volumes. El centro de copias de seguridad omite automáticamente los volúmenes de sts-disk porque ya se restauraron en el paso 5. La tarea de restauración monta el PVC con el mismo nombre en la aplicación.
En la página Application Backup, haga clic en Back up Now y seleccione backup-nas-disk. Sin conversión de StorageClass, los volúmenes se restauran con la StorageClass original. Asegúrese de que dicha StorageClass exista en el clúster de restauración.
En la consola de ECS, compruebe que se hayan creado nuevos discos en la cuenta de restauración y que estén montados en los nodos correctos.
(Opcional) Paso 5: Desconectar el clúster de copia de seguridad y volver a desplegar el centro de copias de seguridad
Una vez completada la migración entre cuentas:
Si ya no necesita realizar copias de seguridad ni restauraciones entre cuentas, desconecte el clúster de copia de seguridad del clúster registrado.
Si desea seguir utilizando el centro de copias de seguridad en el clúster de copia de seguridad, desinstale el componente del clúster registrado y vuelva a instalarlo en el clúster de copia de seguridad.