Todos los productos
Search
Centro de documentos

Container Service for Kubernetes:Install migrate-controller and configure permissions

Última actualización: Sep 29, 2026

El centro de copias de seguridad le permite respaldar, restaurar y migrar aplicaciones. Esto habilita la recuperación ante desastres y la migración de aplicaciones en entornos de múltiples clústeres y nube híbrida. Para utilizar el centro de copias de seguridad, debe instalar el componente de servicio de copia de seguridad migrate-controller y configurar los permisos obligatorios para habilitar las funciones de respaldo.

Requisitos previos

Contexto

A medida que más aplicaciones se ejecutan en Kubernetes, las copias de seguridad periódicas se vuelven fundamentales. El centro de copias de seguridad ayuda a prevenir interrupciones prolongadas del servicio causadas por eventos inesperados. A diferencia de las copias de seguridad tradicionales de servidores o discos, la copia de seguridad nativa de aplicaciones de Kubernetes se centra en las propias aplicaciones. Esto incluye sus datos, objetos de recursos, configuraciones y namespaces completos.

Notas

  • Para los clústeres ACK Serverless Pro y los clústeres ACK Edge, los requisitos de instalación y permisos del centro de copias de seguridad son los mismos que para los clústeres administrados de ACK. Para obtener más información, consulte ACK managed cluster.

    Los clústeres ACK Serverless Basic no admiten el centro de copias de seguridad.

  • No se admite el respaldo de volúmenes cuando se utiliza el centro de copias de seguridad con clústeres ACK Serverless Pro o clústeres ACK Edge.

  • En un clúster ACK Edge, el componente de servicio de copia de seguridad migrate-controller se instala de forma predeterminada en los nodos del lado de la nube y accede a OSS a través de la red interna.

Clúster administrado de ACK

Paso 1: Instalar migrate-controller

Nota

Si es la primera vez que utiliza el centro de copias de seguridad, debe instalar el componente de servicio de copia de seguridad. Si el componente ya está instalado, omita este paso.

  1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

  2. En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, seleccione Operations > Application Backup.

  3. En la página Application Backup, haga clic en Install.

    El sistema detecta automáticamente un almacén de copias de seguridad. Si no encuentra ninguno, debe crear uno. Para obtener más información, consulte Create a backup vault.

    • Una vez instalado el componente de servicio de copia de seguridad, se crea un namespace llamado csdr. No elimine este namespace.

    • Si hay instalada una versión anterior del componente, haga clic en Upgrade en la página Application Backup para actualizarlo a la versión más reciente.

Paso 2: Configurar permisos

  • Permisos de OSS

    Para un clúster administrado de ACK, se recomienda usar un bucket de OSS cuyo nombre comience con cnfs-oss-*** como almacén de copias de seguridad del centro de copias de seguridad. En este caso, no es necesario configurar permisos de OSS. Si utiliza otros buckets, debe configurar los permisos de OSS obligatorios tal como se describe en la sección de clúster dedicado de ACK. Para obtener más información, consulte Step 1: Configure permissions.

  • Instantáneas de disco y Cloud

    En los clústeres administrados de ACK, no necesita configurar permisos para las instantáneas de disco ni para Cloud Backup.

(Opcional) Paso 3: Otorgar a Cloud Backup permiso para usar API Gateway

Si ejecuta trabajos de copia de seguridad o restauración para un clúster en la región China (Ulanqab), China (Heyuan) o China (Guangzhou), debe otorgar a Cloud Backup permiso para usar API Gateway. Esta autorización solo se requiere una vez por cada cuenta principal de Alibaba Cloud.

Nota

A partir de la versión v1.8.4, el componente de copia de seguridad migrate-controller admite el uso de Cloud Backup para respaldar volúmenes de clústeres en las regiones China (Ulanqab), China (Heyuan) o China (Guangzhou). Los tipos de volumen compatibles incluyen OSS, NAS, CPFS, almacenamiento local y datos de volúmenes en escenarios de nube híbrida.

  1. Inicie sesión en la consola de Cloud Backup.

  2. En el panel de navegación izquierdo, elija Backup > Container Backup.

  3. En la esquina superior izquierda de la barra de navegación superior, seleccione la región donde se encuentra el clúster: China (Ulanqab), China (Heyuan) o China (Guangzhou).

  4. En el cuadro de diálogo Cloud Backup Authorization, haga clic en Confirm.

Clústeres dedicados de ACK

Paso 1: Configurar permisos

Importante

El componente migrate-controller de la versión 1.7.7 y posteriores admite la restauración entre regiones de copias de seguridad de almacenamiento en disco de Alibaba Cloud. Para usar esta función, agregue los permisos necesarios para las instantáneas de disco de ECS al usuario de RAM original mediante la siguiente plantilla de directiva personalizada.

  1. Cree un usuario de RAM. Para obtener más información, consulte Create a RAM user.

  2. Cree una directiva personalizada. Para obtener más información, consulte Create a custom policy on the JSON tab.

    En la siguiente directiva, oss:**** especifica los permisos para Object Storage Service (OSS), ecs:**** especifica los permisos para las instantáneas de disco de ECS y hbr:**** especifica los permisos para Cloud Backup.

    Consulte la directiva personalizada

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "oss:PutObject",
            "oss:GetObject",
            "oss:DeleteObject",
            "oss:GetBucket",
            "oss:ListObjects",
            "oss:ListBuckets",
            "oss:GetBucketStat"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "ecs:CreateSnapshot",
            "ecs:DeleteSnapshot",
            "ecs:DescribeSnapshotGroups",
            "ecs:CreateAutoSnapshotPolicy",
            "ecs:ApplyAutoSnapshotPolicy",
            "ecs:CancelAutoSnapshotPolicy",
            "ecs:DeleteAutoSnapshotPolicy",
            "ecs:DescribeAutoSnapshotPolicyEX",
            "ecs:ModifyAutoSnapshotPolicyEx",
            "ecs:DescribeSnapshots",
            "ecs:DescribeInstances",
            "ecs:CopySnapshot",
            "ecs:CreateSnapshotGroup",
            "ecs:DeleteSnapshotGroup"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "hbr:CreateVault",
            "hbr:CreateBackupJob",
            "hbr:DescribeVaults",
            "hbr:DescribeBackupJobs2",
            "hbr:DescribeRestoreJobs",
            "hbr:SearchHistoricalSnapshots",
            "hbr:CreateRestoreJob",
            "hbr:AddContainerCluster",
            "hbr:DescribeContainerCluster",
            "hbr:DescribeRestoreJobs2",
            "hbr:CancelBackupJob",
            "hbr:CancelRestoreJob"
          ],
          "Resource": "*"
        }
      ]
    }

    La directiva anterior otorga permisos sobre todos los buckets de OSS. Si necesita especificar permisos de lectura y escritura para un bucket de OSS específico, modifique la directiva como se muestra en el siguiente ejemplo. Reemplace mybackups en la directiva por el nombre de su bucket de OSS. Para obtener más información sobre cómo configurar permisos detallados de OSS, consulte Use RAM to control access to OSS.

    Consulte la directiva personalizada

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "oss:PutObject",
            "oss:GetObject",
            "oss:DeleteObject",
            "oss:GetBucket",
            "oss:ListObjects",
            "oss:ListBuckets",
            "oss:GetBucketStat"
          ],
          "Resource": [
            "acs:oss:*:*:mybackups",
            "acs:oss:*:*:mybackups/*"
          ],
          "Effect": "Allow"
        },
        {
          "Effect": "Allow",
          "Action": [
            "ecs:CreateSnapshot",
            "ecs:DeleteSnapshot",
            "ecs:DescribeSnapshotGroups",
            "ecs:CreateAutoSnapshotPolicy",
            "ecs:ApplyAutoSnapshotPolicy",
            "ecs:CancelAutoSnapshotPolicy",
            "ecs:DeleteAutoSnapshotPolicy",
            "ecs:DescribeAutoSnapshotPolicyEX",
            "ecs:ModifyAutoSnapshotPolicyEx",
            "ecs:DescribeSnapshots",
            "ecs:DescribeInstances",
            "ecs:CopySnapshot",
            "ecs:CreateSnapshotGroup",
            "ecs:DeleteSnapshotGroup"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "hbr:CreateVault",
            "hbr:CreateBackupJob",
            "hbr:DescribeVaults",
            "hbr:DescribeBackupJobs2",
            "hbr:DescribeRestoreJobs",
            "hbr:SearchHistoricalSnapshots",
            "hbr:CreateRestoreJob",
            "hbr:AddContainerCluster",
            "hbr:DescribeContainerCluster",
            "hbr:DescribeRestoreJobs2",
            "hbr:CancelBackupJob",
            "hbr:CancelRestoreJob"
          ],
          "Resource": "*"
        }
      ]
    }
  3. Otorgue los permisos personalizados al usuario de RAM. Para obtener más información, consulte Manage RAM user permissions.

  4. Cree un par de AccessKey para el usuario de RAM. Para obtener más información, consulte Obtain an AccessKey pair.

  5. Cree un Secret en el clúster dedicado de ACK.

    Para garantizar que su par de AccessKey se utilice de forma segura únicamente dentro de su clúster, primero debe crear un Secret llamado alibaba-addon-secret en el clúster utilizando su información de AccessKey. Esto reduce el riesgo de filtración de credenciales.

    1. Ejecute el siguiente comando para crear el namespace csdr:

      kubectl create ns csdr
    2. Ejecute el siguiente comando para crear el Secret llamado alibaba-addon-secret:

      kubectl -n csdr create secret generic alibaba-addon-secret --from-literal='access-key-id=<your AccessKey ID>' --from-literal='access-key-secret=<your AccessKey Secret>'

      Reemplace <your AccessKey ID> y <your AccessKey Secret> por el par de AccessKey que obtuvo en el paso anterior.

      Nota

      Si crea el Secret después de instalar el componente migrate-controller, reinicie el componente migrate-controller en el namespace kube-system tras crear el Secret.

Paso 2: Instalar el componente migrate-controller

Consulte Install the migrate-controller backup service component.

(Opcional) Paso 3: Otorgar permisos de API Gateway a Cloud Backup

Esta autorización solo es necesaria cuando respalda o restaura un clúster en la región China (Ulanqab), China (Heyuan) o China (Guangzhou). Para obtener más información sobre cómo otorgar los permisos, consulte (Optional) Step 3: Grant API Gateway permissions to Cloud Backup.

Registrar un clúster

Importante

Las versiones 1.7.7 y posteriores de migrate-controller admiten la restauración entre regiones para copias de seguridad de discos de Alibaba Cloud. Actualice onectl a la versión 1.1.0 y ejecute el comando onectl ram-user revoke --addon migrate-controller para actualizar los permisos del usuario de RAM original.

Instalar componentes y configurar permisos usando onectl (Recomendado)

  1. Instale y configure onectl en su computadora local. Para obtener más información, consulte Manage registered clusters using onectl.

  2. Ejecute el siguiente comando para configurar los permisos de RAM del componente migrate-controller.

    onectl ram-user grant --addon migrate-controller

    Resultado esperado:

    Ram policy ack-one-registered-cluster-policy-migrate-controller granted to ram user ack-one-user-ce313528c3 successfully.
  3. Ejecute el siguiente comando para instalar el componente de servicio de copia de seguridad.

    onectl addon install migrate-controller

    Resultado esperado:

    Addon migrate-controller, version **** installed.

    onectl configura los permisos de OSS para todos los buckets de OSS. Si necesita configurar permisos para un bucket de OSS específico, modifique los permisos que genera onectl o manually install components and configure permissions.

    Modificar permisos de OSS: reemplace el contenido de la directiva personalizada que creó por lo siguiente. Para saber cómo modificar una directiva, consulte Modify the content and description of a custom policy.

    Nota

    Reemplace mybackups en la siguiente directiva por el nombre de su bucket de OSS. Para obtener más información sobre la autorización detallada de OSS, consulte Manage OSS permissions using RAM.

    Haga clic para ver la directiva personalizada

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "oss:PutObject",
            "oss:GetObject",
            "oss:DeleteObject",
            "oss:GetBucket",
            "oss:ListObjects",
            "oss:ListBuckets",
            "oss:GetBucketStat"
          ],
          "Resource": [
            "acs:oss:*:*:mybackups",
            "acs:oss:*:*:mybackups/*"
          ],
          "Effect": "Allow"
        },
        {
          "Effect": "Allow",
          "Action": [
            "ecs:CreateSnapshot",
            "ecs:DeleteSnapshot",
            "ecs:DescribeSnapshotGroups",
            "ecs:CreateAutoSnapshotPolicy",
            "ecs:ApplyAutoSnapshotPolicy",
            "ecs:CancelAutoSnapshotPolicy",
            "ecs:DeleteAutoSnapshotPolicy",
            "ecs:DescribeAutoSnapshotPolicyEX",
            "ecs:ModifyAutoSnapshotPolicyEx",
            "ecs:DescribeSnapshots",
            "ecs:DescribeInstances",
            "ecs:CopySnapshot",
            "ecs:CreateSnapshotGroup",
            "ecs:DeleteSnapshotGroup"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "hbr:CreateVault",
            "hbr:CreateBackupJob",
            "hbr:DescribeVaults",
            "hbr:DescribeBackupJobs2",
            "hbr:DescribeRestoreJobs",
            "hbr:SearchHistoricalSnapshots",
            "hbr:CreateRestoreJob",
            "hbr:AddContainerCluster",
            "hbr:DescribeContainerCluster",
            "hbr:DescribeRestoreJobs2",
            "hbr:CancelBackupJob",
            "hbr:CancelRestoreJob"
          ],
          "Resource": "*"
        }
      ]
    }
  4. (Opcional) Configure una ruta hacia el bloque CIDR interno de OSS en la misma región que el clúster registrado.

    En los clústeres registrados conectados a una VPC en la nube mediante CEN, Express Connect o VPN, el centro de copias de seguridad accede automáticamente al nombre de dominio de OSS a través de la red interna. Esto aumenta la velocidad de recuperación de datos para las copias de seguridad cuando el clúster registrado y OSS están en la misma región. En este caso, debe configurar una ruta hacia el bloque CIDR interno de OSS para esa región.

  5. (Opcional) Otorgue al servicio Cloud Backup permisos para usar API Gateway.

    Solo debe otorgar estos permisos cuando respalde o restaure un clúster en la región China (Ulanqab), China (Heyuan) o China (Guangzhou). Para consultar las instrucciones, vea (Optional) Step 3: Grant the Cloud Backup service permissions to use API Gateway.

Instalar componentes y configurar permisos desde la consola

Paso 1: Configurar permisos

Cree un usuario de RAM para el clúster registrado, otórguele permisos para acceder a los recursos en la nube y luego cree un AccessKey.

  1. Cree un usuario de RAM. Para obtener más información, consulte Create a RAM user.

  2. Cree una directiva personalizada como se muestra en el siguiente ejemplo. Para obtener más información, consulte Create a custom policy using the script editor.

    En la siguiente directiva, las acciones que comienzan con oss: son permisos de OSS, las que comienzan con ecs: son permisos relacionados con las instantáneas de disco de ECS y las que comienzan con hbr: son permisos de Cloud Backup.

    Haga clic para ver la directiva personalizada

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "oss:PutObject",
            "oss:GetObject",
            "oss:DeleteObject",
            "oss:GetBucket",
            "oss:ListObjects",
            "oss:ListBuckets",
            "oss:GetBucketStat"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "ecs:CreateSnapshot",
            "ecs:DeleteSnapshot",
            "ecs:DescribeSnapshotGroups",
            "ecs:CreateAutoSnapshotPolicy",
            "ecs:ApplyAutoSnapshotPolicy",
            "ecs:CancelAutoSnapshotPolicy",
            "ecs:DeleteAutoSnapshotPolicy",
            "ecs:DescribeAutoSnapshotPolicyEX",
            "ecs:ModifyAutoSnapshotPolicyEx",
            "ecs:DescribeSnapshots",
            "ecs:DescribeInstances",
            "ecs:CopySnapshot",
            "ecs:CreateSnapshotGroup",
            "ecs:DeleteSnapshotGroup"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "hbr:CreateVault",
            "hbr:CreateBackupJob",
            "hbr:DescribeVaults",
            "hbr:DescribeBackupJobs2",
            "hbr:DescribeRestoreJobs",
            "hbr:SearchHistoricalSnapshots",
            "hbr:CreateRestoreJob",
            "hbr:AddContainerCluster",
            "hbr:DescribeContainerCluster",
            "hbr:DescribeRestoreJobs2",
            "hbr:CancelBackupJob",
            "hbr:CancelRestoreJob"
          ],
          "Resource": "*"
        }
      ]
    }

    La directiva anterior otorga permisos sobre todos los buckets de OSS. Si necesita especificar permisos de lectura y escritura para un bucket de OSS específico, modifique la directiva como se muestra en el siguiente ejemplo. Reemplace mybackups en la directiva por el nombre de su bucket de OSS. Para obtener más información sobre la autorización detallada de OSS, consulte Manage OSS permissions using RAM.

    Haga clic para ver la directiva personalizada

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "oss:PutObject",
            "oss:GetObject",
            "oss:DeleteObject",
            "oss:GetBucket",
            "oss:ListObjects",
            "oss:ListBuckets",
            "oss:GetBucketStat"
          ],
          "Resource": [
            "acs:oss:*:*:mybackups",
            "acs:oss:*:*:mybackups/*"
          ],
          "Effect": "Allow"
        },
        {
          "Effect": "Allow",
          "Action": [
            "ecs:CreateSnapshot",
            "ecs:DeleteSnapshot",
            "ecs:DescribeSnapshotGroups",
            "ecs:CreateAutoSnapshotPolicy",
            "ecs:ApplyAutoSnapshotPolicy",
            "ecs:CancelAutoSnapshotPolicy",
            "ecs:DeleteAutoSnapshotPolicy",
            "ecs:DescribeAutoSnapshotPolicyEX",
            "ecs:ModifyAutoSnapshotPolicyEx",
            "ecs:DescribeSnapshots",
            "ecs:DescribeInstances",
            "ecs:CopySnapshot",
            "ecs:CreateSnapshotGroup",
            "ecs:DeleteSnapshotGroup"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "hbr:CreateVault",
            "hbr:CreateBackupJob",
            "hbr:DescribeVaults",
            "hbr:DescribeBackupJobs2",
            "hbr:DescribeRestoreJobs",
            "hbr:SearchHistoricalSnapshots",
            "hbr:CreateRestoreJob",
            "hbr:AddContainerCluster",
            "hbr:DescribeContainerCluster",
            "hbr:DescribeRestoreJobs2",
            "hbr:CancelBackupJob",
            "hbr:CancelRestoreJob"
          ],
          "Resource": "*"
        }
      ]
    }
  3. Otorgue la directiva personalizada que creó al usuario de RAM. Para obtener más información, consulte Manage permissions for a RAM user.

  4. Cree un AccessKey para el usuario de RAM. Para obtener más información, consulte Obtain an AccessKey.

  5. Cree un Secret en el clúster.

    Para garantizar que su información de AccessKey se utilice de forma segura únicamente dentro de su clúster, primero despliegue un Secret llamado alibaba-addon-secret en el clúster utilizando dicha información. Esto reduce el riesgo de filtración de información.

    1. Ejecute el siguiente comando para crear el namespace csdr.

      kubectl create ns csdr
    2. Ejecute el siguiente comando para crear un Secret llamado alibaba-addon-secret.

      kubectl -n csdr create secret generic alibaba-addon-secret --from-literal='access-key-id=<your AccessKey ID>' --from-literal='access-key-secret=<your AccessKey Secret>'

      Reemplace <your AccessKey ID> y <your AccessKey Secret> en el comando por la información de AccessKey que obtuvo en el paso anterior.

Paso 2: Instalar el componente de servicio de copia de seguridad migrate-controller

Consulte Install the migrate-controller backup service component.

(Opcional) Paso 3: Configurar una ruta hacia el bloque CIDR interno de OSS en la misma región que el clúster registrado

En los clústeres registrados conectados a una VPC en la nube mediante CEN, Express Connect o VPN, el centro de copias de seguridad accede automáticamente al nombre de dominio de OSS a través de la red interna. Esto aumenta la velocidad de recuperación de datos para las copias de seguridad cuando el clúster registrado y OSS están en la misma región. En este caso, debe configurar una ruta hacia el bloque CIDR interno de OSS para esa región.

(Opcional) Paso 4: Otorgar al servicio Cloud Backup permisos para usar API Gateway

Solo debe otorgar estos permisos cuando respalde o restaure un clúster en la región China (Ulanqab), China (Heyuan) o China (Guangzhou). Para consultar las instrucciones, vea (Optional) Step 3: Grant the Cloud Backup service permissions to use API Gateway.