备份中心用于应用的备份、恢复与迁移,安装migrate-controller备份服务组件并配置相关权限以开启备份能力,实现多集群和混合环境中应用的数据容灾和应用迁移。
前提条件
开通相关云服务
已开通云备份。相关计费,请参见云备份计费方式与计费项。
使用云备份备份文件系统类型存储卷的数据(OSS、NAS、CPFS、本地存储等类型存储卷数据,以及混合云场景中的存储卷数据)。在使用之前,您需要参见下文开通云备份服务并配置云备份权限。
当前备份中心仅使用阿里云OSS存储备份的应用。在使用阿里云对象存储OSS之前,您需要参见下文配置OSS权限。
开通快照服务不收取费用。创建快照后,阿里云默认根据快照容量与时长按量计费,更多信息,请参见快照计费。
如需使用ECS云盘快照备份阿里云云盘类型存储卷的数据,您需要先开通快照并参见下文配置权限。
准备集群
已创建1.18及以上版本的集群。请参见创建ACK托管集群、创建ACK专有集群、创建ACK Serverless集群、创建Edge集群或创建注册集群并接入本地数据中心集群。关于升级集群,请参见手动升级集群。
若使用ACK托管集群,需要创建以cnfs-oss-****开头命名的Bucket,便于权限最小化管理及存储备份的模板,例如cnfs-oss-backup。
备份中心不支持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备份服务组件
首次使用备份中心功能,需安装备份服务组件;已安装可忽略。
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在应用备份页面,单击开始安装。
系统会自动检测备份仓库,若未创建,请参见创建备份仓库。
备份服务组件安装完之后,会生成csdr的命名空间,请勿删除该命名空间。
若您已安装该组件,但备份服务组件不是最新版本,请在应用备份页面单击开始升级,系统会自动将应用备份服务组件升级至最新版本。
步骤二:配置相关权限
OSS权限
ACK托管集群建议以
cnfs-oss-***
名称开头的OSS Bucket作为备份中心的备份仓库,无需配置OSS权限。使用其他Bucket时需要参见下文ACK专有集群配置相关OSS权限,请参见步骤一:配置相关权限。云盘快照和云备份权限
ACK托管集群无需配置云盘快照和云备份权限。
ACK专有集群
步骤一:配置相关权限
v1.7.7及以上版本的migrate-controller组件支持阿里云云盘类型存储备份跨地域恢复。如果需要使用该功能,请按如下自定义权限策略模板,为原RAM用户补充授权ECS云盘快照相关权限策略。
创建RAM用户。具体操作,请参见创建RAM用户。
创建如下自定义权限策略。具体操作,请参见通过脚本编辑模式创建自定义权限策略。
以下策略脚本中,
oss:****
为OSS权限策略,ecs:****
为ECS云盘快照相关权限策略,hbr:****
为云备份权限策略。上述权限策略授予了所有OSS Bucket的权限。如果您需要指定OSS的读写权限,请按以下示例修改权限策略,将以下策略脚本中的
mybackups
替换为您的OSS名称。更多OSS细粒度授权配置信息,请参见通过RAM对OSS进行权限管理。为RAM用户添加上述自定义的权限。具体操作,请参见为RAM用户授权。
为RAM用户创建AccessKey。具体操作,请参见获取AccessKey。
在ACK专有集群中创建Secret。
为了保证您的AccessKey信息只在您的集群内安全使用,您需要先在集群中使用AccessKey信息部署一个名为alibaba-addon-secret的Secret资源,以降低泄露风险。
执行以下命令,创建命名空间csdr。
kubectl create ns csdr
执行以下命令,创建名为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备份服务组件。具体操作,请参见步骤一:安装migrate-controller备份服务组件。
注册集群
v1.7.7及以上版本的migrate-controller组件支持阿里云云盘存储备份跨地域恢复。请更新onectl版本至v1.1.0,并执行onectl ram-user revoke --addon migrate-controller
命令,为原RAM用户补充授权。
通过onectl安装组件并配置权限(推荐)
在本地安装配置onectl。具体操作,请参见通过onectl管理注册集群。
执行以下命令,为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.
执行以下命令,安装备份服务组件。
onectl addon install migrate-controller
预期输出:
Addon migrate-controller, version **** installed.
使用onectl配置的OSS权限范围为所有的OSS Bucket,如需配置指定的OSS Bucket的权限,请修改onectl生成的OSS权限,或者选择手动安装组件并配置权限。
修改OSS权限:修改已创建的自定义权限策略内容为以下内容。如何修改策略,请参见修改自定义权限策略内容和备注。
说明替换以下策略代码中
mybackups
为您的OSS名称。更多OSS细粒度的授权配置信息,请参见通过RAM对OSS进行权限管理。(可选)配置指向注册集群与OSS同一地域的OSS内网网段的路由。
已通过CEN、高速通道、专线、VPN等方式与云上VPC互通的注册集群,为提高备份数据的拉取速度,当注册集群与OSS处于同一地域时,备份中心会自动选择以内网方式访问OSS域名,此时,您需要配置指向该地域OSS内网网段的路由。
关于线下IDC接入云上VPC的相关内容,请参见接入方式介绍。
关于OSS内网域名与VIP网段对照表,请参见OSS内网域名与VIP网段对照表。
通过控制台安装组件并配置权限
步骤一:配置相关权限
您需要为注册集群创建RAM用户,为RAM用户添加访问云资源的权限,然后创建AccessKey。
创建RAM用户。具体操作,请参见创建RAM用户。
创建如下自定义权限策略。具体操作,请参见通过脚本编辑模式创建自定义权限策略。
以下策略脚本中,
oss:****
为OSS权限策略,ecs:****
为ECS云盘快照相关权限策略,hbr:****
为云备份权限策略。上述权限策略授予了所有OSS Bucket的权限。如果您需要指定OSS的读写权限,请按以下示例修改权限策略,将以下策略脚本中的
mybackups
替换为您的OSS名称。更多OSS细粒度授权配置信息,请参见通过RAM对OSS进行权限管理。为RAM用户添加已创建的自定义权限。具体操作,请参见为RAM用户授权。
为RAM用户创建AccessKey。具体操作,请参见获取AccessKey。
在集群中创建Secret。
为了保证您的AccessKey信息只在您的集群内安全使用,您需要先在集群中使用AccessKey信息部署一个名为alibaba-addon-secret的Secret资源,以降低泄露风险。
执行以下命令,创建命名空间csdr。
kubectl create ns csdr
执行以下命令,创建名为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备份服务组件。具体操作,请参见步骤一:安装migrate-controller备份服务组件。
(可选)步骤三:配置指向注册集群与OSS同一地域的OSS内网网段的路由
已通过CEN、高速通道、专线、VPN等方式与云上VPC互通的注册集群,为提高备份数据的拉取速度,当注册集群与OSS处于同一地域时,备份中心会自动选择以内网方式访问OSS域名,此时,您需要配置指向该地域OSS内网网段的路由。
关于线下IDC接入云上VPC的相关内容,请参见接入方式介绍。
关于OSS内网域名与VIP网段对照表,请参见OSS内网域名与VIP网段对照表。