备份中心可用于解决Kubernetes集群内的应用备份与恢复,实现集群的备份容灾能力。
使用限制
备份应用时,正在被删除的资源不会被备份。
备份中心功能仅支持v1.16及以上版本的集群使用,如果集群版本过低,请升级ACK集群K8s版本。
其中,云盘数据备份默认使用ECS快照功能,该功能仅支持v1.18及以上版本的CSI集群使用,否则将改用云备份服务备份。
前提条件
已安装备份服务组件并完成对应权限的配置。具体操作,请参见安装migrate-controller备份服务组件并配置权限。
如需使用云盘快照备份数据卷,需要安装v1.1.0或以上版本的CSI插件。关于如何安装CSI插件,请参见安装与升级CSI组件。
如需恢复为容器网络文件系统管理的NAS类型(即恢复时转换为存储类列选择为alibabacloud-cnfs-nas),您需要先创建StorageClass。具体操作,请参见通过CNFS管理NAS文件系统(推荐)。
计费说明
备份中心功能本身不收费,使用备份中心时,可能用到以下相关服务,您需要支付相关的存储费用。
步骤一:创建备份仓库
当前应用备份功能使用阿里云OSS对备份数据进行存储。若创建备份任务时无可用的备份仓库,则需执行该步骤。
在您集群所在的地域只需要创建一次备份仓库,您可以在同一地域的不同集群使用同一个备份仓库。
已创建过的备份仓库不支持更新,只能被删除。若您在删除备份仓库后,重新创建了同名的备份仓库,此新建的同名备份仓库在现有已使用过备份的集群中也无法生效。
登录容器服务管理控制台,在左侧导航栏选择 。
在备份中心页面,单击创建备份仓库。
在创建备份仓库面板,配置参数,然后单击确定。
配置项
说明
备份仓库名称
备份仓库的名称,支持小写字母和数字。
OSS Bucket 区域
OSS Bucket所在地域。
OSS Bucket 名称
OSS Bucket的名称。
若为ACK托管版集群,您需要提前创建OSS Bucket,且OSS Bucket的名称须以cnfs-oss****开头。
OSS Bucket 子目录
OSS Bucket的子目录(非必填)。
可见范围
备份仓库对其他用户的可见性,可选项:
私有(Private):主账号及创建者可见。
公共(Public):主账号及所有子账号可见。
步骤二:创建备份计划或立即备份
创建备份计划:将按照设置的备份周期,周期性地创建备份任务,直到该备份计划被删除。创建时间由备份周期决定,例如,每隔一段时间,或每天、每周、每月等特定的某个时间。
立即备份:创建单个备份任务,创建时间为当前时间。
创建备份计划或立即备份都将在集群中下发备份任务,任务的状态将会被记录在备份记录页签。
创建备份计划
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
系统会自动检测是否安装备份服务组件,如未安装,请根据界面提示,依次完成备份服务组件的安装。若您的集群为注册集群或专有版集群,还需要完成权限配置。具体操作,请参见安装migrate-controller备份服务组件并配置权限。
在应用备份页面,单击创建备份计划,在弹出的创建备份计划面板中,设置备份应用的相关参数,然后单击确定。
说明备份计划名称仅支持小写字母和数字,不能有空格。
备份命名空间可选择多个。
如果指定标签备份,仅支持输入一个标签。
备份存储卷时,云盘快照集成了阿里云云盘快照技术,阿里云云备份(Cloud Backup)是一种高效、安全、低成本的全托管式云备份存储服务。
备份计划中备份周期的表达式,支持Linux Crontab以及按照间隔备份。
配置项
说明
名称
备份计划的名称,必填项。
备份仓库
需要关联的备份仓库,必填项。
命名空间选择方式
包含:表示备份备份命名空间中选择的命名空间中的应用,当选中的命名空间删除时,备份时会跳过。
排除:表示备份除备份命名空间中选择的命名空间外的其他命名空间,当有新的命名空间创建时,同样会被备份。
说明仅创建备份计划时支持命名空间选择方式,立即备份默认为包含。
备份命名空间
支持选中一个或者多个备份命名空间。表示备份选中的一个或多个命名空间中的应用,必填项。
说明kube-system、kube-publish、kube-node-lease、csdr命名空间与集群强依赖,不建议直接进行备份恢复。因此,不支持备份这四个命名空间。
备份周期
支持Crontab表达式,仅在创建备份计划时需要填写备份周期。关于如何填写,请参见创建备份计划时,备份周期如何填写。
备份存储卷
是否备份应用使用的存储卷中的数据。
当选中备份存储卷时,当前的数据将备份在ECS快照或云备份中。
云盘类型存储卷:默认通过ECS快照进行备份;
其他类型的存储卷,通过云备份服务进行备份。
恢复时,将从ECS快照或云备份服务中获取备份的数据,恢复至新的云盘等底层存储中。
重要若不勾选备份存储卷,且未通过排除资源排除存储声明、存储卷时,备份记录仅包含对应的YAML,而不包含存储的数据。YAML中记录了云盘ID、NAS Server等存储底层信息。恢复时,将通过静态方式按照YAML恢复存储声明、存储卷。
指定标签备份
需要备份的应用标签,用于指定备份带有该标签的应用。
指定资源
支持填写多个资源对象名称,多个资源对象名称以英文半角逗号(,)间隔,例如
deploy, configmap
等。指定资源后可以只备份特定资源。排除资源
支持填写多个资源对象名称,多个资源对象名称以英文半角逗号(,)间隔,例如
pod, secret
等。表示排除备份选中的资源对象应用。备份有效期
备份的数据存储有效期,过期之后数据将无法恢复。取值范围:1~65536,单位为天。
更多操作
在应用备份的备份计划页签,您可以单击目标备份计划右侧操作列下的查看备份记录,查看自动创建的备份记录状态,若状态列显示为Completed,表示该任务备份成功。
在应用备份的备份计划页签,您可以单击目标备份计划右侧操作列下的编辑,修改备份命名空间、备份周期等相关配置。
立即备份
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
系统会自动检测是否安装备份服务组件,如未安装,请根据界面提示,依次完成备份服务组件的安装。若您的集群为注册集群或专有版集群,还需要完成权限配置。具体操作,请参见安装migrate-controller备份服务组件并配置权限。
在应用备份页面,单击立即备份,在弹出的立即备份面板中,设置备份应用的相关参数,然后单击确定。
说明立即备份仅支持小写字母和数字,不能有空格。
备份命名空间可选择多个。
如果指定标签备份,仅支持输入一个标签。
备份存储卷时,云盘快照集成了阿里云云盘快照技术,阿里云云备份(Cloud Backup)是一种高效、安全、低成本的全托管式云备份存储服务。
配置项
说明
名称
立即备份的名称,必填项。
备份仓库
需要关联的备份仓库,必填项。
备份命名空间
支持选中一个或者多个备份命名空间。表示备份选中的一个或多个命名空间中的应用,必填项。
说明kube-system、kube-publish、kube-node-lease、csdr命名空间与集群强依赖,不建议直接进行备份恢复。因此,不支持备份这四个命名空间。
备份存储卷
是否备份应用使用的存储卷中的数据。
当选中备份存储卷时,当前的数据将备份在ECS快照或云备份中。
云盘类型存储卷:默认通过ECS快照进行备份;
其他类型的存储卷,通过云备份服务进行备份。
恢复时,将从ECS快照或云备份服务中获取备份的数据,恢复至新的云盘等底层存储中。
重要若不勾选备份存储卷,且未通过排除资源排除存储声明、存储卷时,备份记录仅包含对应的YAML,而不包含存储的数据。YAML中记录了云盘ID、NAS Server等存储底层信息。恢复时,将通过静态方式按照YAML恢复存储声明、存储卷。
指定标签备份
需要备份的应用标签,用于指定备份带有该标签的应用。
指定资源
支持填写多个资源对象名称,多个资源对象名称以英文半角逗号(,)间隔,例如
deploy, configmap
等。指定资源后可以只备份特定资源。排除资源
支持填写多个资源对象名称,多个资源对象名称以英文半角逗号(,)间隔,例如
pod, secret
等。表示排除备份选中的资源对象应用。备份有效期
备份的数据存储有效期,过期之后数据将无法恢复。取值范围:1~65536,单位为天。
更多操作
在应用备份的备份记录页签,创建的备份记录状态列显示Completed,表示该任务备份成功。
您可以在目标备份记录右侧的操作列,单击拷贝创建,可以基于已有备份记录快速立即备份。
步骤三:恢复应用和数据卷
恢复应用时,仅恢复当前集群中不存在的资源,对于已存在的资源不会覆盖。如需恢复到之前的版本,则需要删除现有资源,然后再进行恢复。
在应用备份页面,单击立即恢复。
在弹出的立即恢复面板中,设置恢复应用的相关参数,然后单击确定。
配置项
说明
名称
恢复任务的名称,仅支持小写字母和数字。
备份仓库
备份文件所在的仓库。
选择备份仓库后,请单击初始化仓库,将恢复集群和指定的备份中心进行关联。每个备份仓库只需要关联一次。仓库初始化完成后,您可以选择备份仓库中指定的备份进行恢复。
选择备份
备份文件。
重定义命名空间
若需要修改备份数据的命名空间,请单击添加,选择数据所属的命名空间,在冒号后设置恢复后数据所属的命名空间。
存储类转换
即原来的制作快照功能,对勾选了备份存储卷的备份,支持变更存储卷声明的存储类。例如,原本为NAS存储卷,选择alicloud-disk存储类后,恢复的应用将使用云盘存储原数据。
重要仅支持变更FileSystem类型(即使用云备份云备份服务备份的非云盘类型)数据的存储类。
对于ReadWriteMany类型的存储卷,暂不支持恢复为云盘类型;对于ReadOnlyMany类型的存储卷,恢复为云盘类型时,需由业务保证不会被多个节点上的副本同时挂载,造成强制拔盘。
验证相关的有状态应用或无状态应用,存储卷和服务可以正常启动和正常访问。
在恢复集群中的集群管理页左侧导航栏选择
。在目标应用右侧操作列单击详情。
在容器组页签下,确认目标应用的状态为Running。
在集群管理页左侧导航栏中,选择
。在存储声明页面可以查看已恢复的存储声明。
在集群管理页左侧导航栏中,选择
。在服务页面单击目标的外部端点,确认是否可以访问。
相关文档
如果需要实现跨存储插件、跨版本集群间的应用迁移,请参见通过备份中心实现低版本Kubernetes集群应用迁移。
如果需要实现同一地域集群的应用迁移,请参见同地域跨集群迁移应用。
如果需要实现跨地域集群的应用迁移,请参见跨地域跨集群迁移应用。
如果需要通过kubectl命令行实现集群应用的迁移,请参见通过kubectl实现集群应用的备份和恢复。