赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 分布式云容器平台ACK One
  4. 操作指南
  5. 备份中心
  6. 安装migrate-controller备份服务组件并配置权限

安装migrate-controller备份服务组件并配置权限

  • 备份中心
  • 发布于 2025-04-18
  • 0 次阅读
文档编辑
文档编辑

备份中心用于应用的备份、恢复与迁移,您可以通过备份中心实现多集群和混合环境中应用的数据容灾和应用迁移。使用备份中心需要安装migrate-controller备份服务组件并配置相关权限以开启备份能力。

前提条件

  • 开通相关云服务

    • 已开通云备份。相关计费,请参见云备份计费方式与计费项。

      使用云备份备份文件系统类型存储卷的数据(OSS、NAS、CPFS、本地存储等类型存储卷数据,以及混合云场景中的存储卷数据)。

    • 已开通OSS服务。相关计费,请参见OSS计费概述。

      当前备份中心仅使用阿里云OSS存储备份的应用。

    • 已开通云盘快照服务。

      开通快照服务不收取费用。创建快照后,阿里云默认根据快照容量与时长按量计费。请参见快照计费。

  • 准备集群

    • 已创建1.18及以上版本的集群。请参见创建ACK托管集群、创建ACK专有集群(已停止新建)、创建ACK Serverless集群、创建ACK Edge集群或创建注册集群并接入本地数据中心集群。关于升级集群,请参见手动升级集群。

      若使用ACK托管集群,需要创建以cnfs-oss-****开头命名的Bucket,便于权限最小化管理及存储备份的模板,例如cnfs-oss-backup。

    • 已通过kubectl工具连接集群。

    • 备份中心不支持Flexvolume插件集群,若您需要使用备份功能,可以通过以下方式迁移至CSI。

      • 若是无存储集群的Flexvolume插件,建议您将存储插件迁移至CSI。具体操作,请参见将无存储集群的Flexvolume迁移至CSI。

      • 其他情况,请加入钉钉用户群(钉钉群号:35532895)咨询。

背景信息

随着越来越多的应用运行在Kubernetes中,定时备份变得格外重要。备份中心可以有效防止因意外情况导致的服务长时间中断。与传统的单机或磁盘备份不同,基于Kubernetes的应用备份,主要关注于运行在Kubernetes中的应用及其数据、资源对象、配置及整个命名空间等。

注意事项

  • ACK Serverless集群Pro版和ACK Edge集群使用备份中心时,安装及权限配置的要求与ACK托管集群一致。具体操作,请参见ACK托管集群。

    ACK Serverless集群基础版不支持使用备份中心。

  • ACK Serverless集群Pro版和ACK Edge集群使用备份中心时,不支持备份存储卷。

  • ACK Edge集群的migrate-controller备份服务组件默认安装在云上节点,并通过内网访问OSS。

ACK托管集群

步骤一:安装migrate-controller备份服务组件

说明

首次使用备份中心功能,需安装备份服务组件;已安装可忽略。

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表。

  2. 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择运维管理 > 应用备份。

  3. 在应用备份页面,单击开始安装。

    系统会自动检测备份仓库,若未创建,请参见创建备份仓库。

    • 备份服务组件安装完之后,会生成csdr的命名空间,请勿删除该命名空间。

    • 若您已安装该组件,但备份服务组件不是最新版本,请在应用备份页面单击开始升级,系统会自动将应用备份服务组件升级至最新版本。

步骤二:配置相关权限

  • OSS权限

    ACK托管集群建议以cnfs-oss-***名称开头的OSS Bucket作为备份中心的备份仓库,无需配置OSS权限。使用其他Bucket时需要参见下文ACK专有集群配置相关OSS权限,请参见步骤一:配置相关权限。

  • 云盘快照和云备份权限

    ACK托管集群无需配置云盘快照和云备份权限。

(可选)步骤三:为云备份服务授权API网关使用权限

如果您需要在华北6(乌兰察布)、华南2(河源)或华南3(广州)地域的集群进行备份或恢复任务,在首次使用时,您需要使用阿里云账号为云备份服务授权API网关的使用权限,每个阿里云主账号仅需授权一次。

说明

自v1.8.4版本起,migrate-controller备份服务组件支持在华北6(乌兰察布)、华南2(河源)或华南3(广州)地域的集群中使用云备份进行存储卷备份。支持的存储卷类型包括OSS、NAS、CPFS、本地存储等,以及混合云场景中的存储卷数据。

  1. 登录云备份Cloud Backup控制台。

  2. 在左侧导航栏,选择备份 > 容器备份。

  3. 在顶部菜单栏左上角,选择集群所在地域,即华北6(乌兰察布)、华南2(河源)或华南3(广州)。

  4. 在弹出的云备份授权弹框中,单击确认授权。

ACK专有集群

步骤一:配置相关权限

重要

v1.7.7及以上版本的migrate-controller组件支持阿里云云盘类型存储备份跨地域恢复。如需使用该功能,请按如下自定义权限策略模板,为原RAM用户补充授权ECS云盘快照相关权限策略。

  1. 创建RAM用户。具体操作,请参见创建RAM用户。

  2. 创建如下自定义权限策略。具体操作,请参见通过脚本编辑模式创建自定义权限策略。

    以下策略脚本中,oss:****为OSS权限策略,ecs:****为ECS云盘快照相关权限策略,hbr:****为云备份权限策略。

    展开查看自定义权限策略

    {
      "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": "*"
        }
      ]
    }

    上述权限策略授予了所有OSS Bucket的权限。如果您需要指定OSS的读写权限,请按以下示例修改权限策略,将以下策略脚本中的mybackups替换为您的OSS名称。更多OSS细粒度授权配置信息,请参见通过RAM对OSS进行权限管理。

    展开查看自定义权限策略

    {
      "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. 为RAM用户添加上述自定义的权限。具体操作,请参见为RAM用户授权。

  4. 为RAM用户创建AccessKey。具体操作,请参见获取AccessKey。

  5. 在ACK专有集群中创建Secret。

    为了保证您的AccessKey信息只在您的集群内安全使用,您需要先在集群中使用AccessKey信息部署一个名为alibaba-addon-secret的Secret资源,以降低泄露风险。

    1. 执行以下命令,创建命名空间csdr。

      kubectl create ns csdr
    2. 执行以下命令,创建名为alibaba-addon-secret的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>'

      您需要将上述代码中的<your AccessKey ID>和<your AccessKey Secret>替换为您在上一步获取的AccessKey信息。

      说明

      如果您在安装migrate-controller备份服务组件后补充创建的Secret,请完成该创建后重启kube-system下的migrate-controller组件。

步骤二:安装migrate-controller备份服务组件

请参见安装migrate-controller备份服务组件。

(可选)步骤三:为云备份服务授权API网关使用权限

仅在华北6(乌兰察布)、华南2(河源)或华南3(广州)地域的集群备份或恢复时需要授权。授权操作,请参见(可选)步骤三:为云备份服务授权API网关使用权限。

注册集群

重要

v1.7.7及以上版本的migrate-controller组件支持阿里云云盘存储备份跨地域恢复。请更新onectl版本至v1.1.0,并执行onectl ram-user revoke --addon migrate-controller命令,为原RAM用户补充授权。

通过onectl安装组件并配置权限(推荐)

  1. 在本地安装配置onectl。具体操作,请参见通过onectl管理注册集群。

  2. 执行以下命令,为migrate-controller组件配置RAM权限。

    onectl ram-user grant --addon migrate-controller

    预期输出:

    Ram policy ack-one-registered-cluster-policy-migrate-controller granted to ram user ack-one-user-ce313528c3 successfully.
  3. 执行以下命令,安装备份服务组件。

    onectl addon install migrate-controller

    预期输出:

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

    使用onectl配置的OSS权限范围为所有的OSS Bucket,如需配置指定的OSS Bucket的权限,请修改onectl生成的OSS权限,或者选择手动安装组件并配置权限。

    修改OSS权限:修改已创建的自定义权限策略内容为以下内容。如何修改策略,请参见修改自定义权限策略内容和备注。

    说明

    替换以下策略代码中mybackups为您的OSS名称。更多OSS细粒度的授权配置信息,请参见通过RAM对OSS进行权限管理。

    展开查看自定义权限策略

    {
      "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. (可选)配置指向注册集群与OSS同一地域的OSS内网网段的路由。

    已通过CEN、高速通道、专线、VPN等方式与云上VPC互通的注册集群,为提高备份数据的拉取速度,当注册集群与OSS处于同一地域时,备份中心会自动选择以内网方式访问OSS域名,此时,您需要配置指向该地域OSS内网网段的路由。

    • 关于线下IDC接入云上VPC的相关内容,请参见接入方式介绍。

    • 关于OSS内网域名与VIP网段对照表,请参见OSS内网域名与VIP网段对照表。

  5. (可选)为云备份服务授权API网关使用权限。

    仅在华北6(乌兰察布)、华南2(河源)或华南3(广州)地域的集群备份或恢复时需要授权。授权操作,请参见(可选)步骤三:为云备份服务授权API网关使用权限。

通过控制台安装组件并配置权限

步骤一:配置相关权限

您需要为注册集群创建RAM用户,为RAM用户添加访问云资源的权限,然后创建AccessKey。

  1. 创建RAM用户。具体操作,请参见创建RAM用户。

  2. 创建如下自定义权限策略。具体操作,请参见通过脚本编辑模式创建自定义权限策略。

    以下策略脚本中,oss:****为OSS权限策略,ecs:****为ECS云盘快照相关权限策略,hbr:****为云备份权限策略。

    展开查看自定义权限策略

    {
      "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": "*"
        }
      ]
    }

    上述权限策略授予了所有OSS Bucket的权限。如果您需要指定OSS的读写权限,请按以下示例修改权限策略,将以下策略脚本中的mybackups替换为您的OSS名称。更多OSS细粒度授权配置信息,请参见通过RAM对OSS进行权限管理。

    展开查看自定义权限策略

    {
      "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. 为RAM用户添加已创建的自定义权限。具体操作,请参见为RAM用户授权。

  4. 为RAM用户创建AccessKey。具体操作,请参见获取AccessKey。

  5. 在集群中创建Secret。

    为了保证您的AccessKey信息只在您的集群内安全使用,您需要先在集群中使用AccessKey信息部署一个名为alibaba-addon-secret的Secret资源,以降低泄露风险。

    1. 执行以下命令,创建命名空间csdr。

      kubectl create ns csdr
    2. 执行以下命令,创建名为alibaba-addon-secret的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>'

      您需要将上述代码中的<your AccessKey ID>和<your AccessKey Secret>替换为您在上一步获取的AccessKey信息。

步骤二:安装migrate-controller备份服务组件

请参见安装migrate-controller备份服务组件。

(可选)步骤三:配置指向注册集群与OSS同一地域的OSS内网网段的路由

已通过CEN、高速通道、专线、VPN等方式与云上VPC互通的注册集群,为提高备份数据的拉取速度,当注册集群与OSS处于同一地域时,备份中心会自动选择以内网方式访问OSS域名,此时,您需要配置指向该地域OSS内网网段的路由。

  • 关于线下IDC接入云上VPC的相关内容,请参见接入方式介绍。

  • 关于OSS内网域名与VIP网段对照表,请参见OSS内网域名与VIP网段对照表。

(可选)步骤四:为云备份服务授权API网关使用权限

仅在华北6(乌兰察布)、华南2(河源)或华南3(广州)地域的集群备份或恢复时需要授权。授权操作,请参见(可选)步骤三:为云备份服务授权API网关使用权限。

相关文档

  • 备份或迁移应用,请参见:

    • 集群内备份和恢复应用

    • 同地域跨集群迁移应用

    • 跨地域跨集群迁移应用

  • 跨存储插件、跨版本集群间的应用迁移,请参见通过备份中心实现低版本Kubernetes集群应用迁移。

相关文章

备份中心 2025-04-18 18:08

容器服务ACK备份中心为无状态或有状态应用的备份、恢复与迁移提供了一站式的解决方案,特别是对混合云、多集群的有状态应用提供了数据容灾和应用迁移能力。例如,集群内应用和数据的定时备份、统一恢复,以及跨可用区、跨地域的迁移。本文介绍备份中心的工作原理、计费说明及使用场景。 工作原理

安装migrate-controller备份服务组件并配置权限 2025-04-18 18:08

备份中心用于应用的备份、恢复与迁移,您可以通过备份中心实现多集群和混合环境中应用的数据容灾和应用迁移。使用备份中心需要安装migrate-controller备份服务组件并配置相关权限以开启备份能力。 前提条件

集群内备份和恢复应用 2025-04-18 18:08

备份中心可用于解决Kubernetes集群内的应用备份与恢复,实现集群的备份容灾能力。 使用限制

通过Prometheus监控备份中心并配置告警 2025-04-18 18:08

您可以将备份中心接入Prometheus,通过阿里云Prometheus服务监控当前集群中备份仓库及备份任务的状态,实现应用迁移、备份容灾状态的实时监控。本文介绍如何使用备份中心监控大盘以及如何配置备份任务失败告警。 前提条件 已安装migrate-controller备份服务组件,且组件为v1.7

自建Kubernetes集群应用迁移至线上ACK集群 2025-04-18 18:08

您可以通过备份中心对ACK One注册集群中部署的应用及数据进行备份,并在线上ACK集群中进行恢复,实现线下应用到线上的快速迁移。本文介绍如何使用备份中心将已接入ACK One注册集群的线下集群中的应用迁移至线上ACK集群。

将其他云厂商Kubernetes集群应用迁移至ACK集群 2025-04-18 18:08

将其他云厂商的Kubernetes集群接入到ACK One注册集群后,您可以通过备份中心对原集群中部署的应用及数据进行备份,并在ACK集群中完成恢复,实现应用跨云的快速迁移。本文介绍如何使用备份中心将ACK One注册集群的应用迁移至ACK集群。

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号