集群内备份和恢复应用
备份中心可用于解决Kubernetes集群内的应用备份与恢复,实现集群的备份容灾能力。它能够对集群内的资源对象(如Deployment、Service、ConfigMap)及持久化卷数据(PV/PVC)进行一体化的保护,支持为整个命名空间或指定应用设置自动化备份和快速恢复,有效应对人为误操作、应用故障或数据损坏等风险。
前提条件
- 集群中已安装Velero插件。
- Velero使用OBS桶作为后端存储库,在使用前需要提前创建OBS桶。
注意事项
- 备份/恢复过程中,请保证集群处于稳态,不要触发增删改等变更行为,以免出现备份/恢复失败或不完整。
- 若集群发生变更,建议等15分钟后,集群处于稳态,再进行备份操作。
- 使用备份数据卷时,仅提供EVS类型的PV卷进行快照备份,并遵循快照的约束,详情请参见创建云硬盘快照。
- 使用备份数据卷时,单次备份任务中,当前选择的备份命名空间下的EVS类型的PVC/PV数量不能超过10000个,否则可能导致创建云硬盘快照失败。
- 备份只保存当前的数据,恢复功能会自动跳过已存在的资源。
- 恢复集群时还原的PV如果没有绑定任何PVC,直接删除PV并不会删除云硬盘,请前往EVS控制台删除资源。
计费说明
创建备份仓库
备份仓库用于存放一个或多个集群的应用备份数据。若创建备份任务时没有可用的备份仓库,则需要执行该步骤新建备份仓库。
- 登录CCE控制台,单击集群名称进入集群。
- 选择左侧导航栏的“备份中心”,切换至“备份仓库”页签,单击“创建备份仓库”。
- 填写备份仓库信息。

表1 备份仓库参数说明 参数名称
是否必须
参数解释
备份仓库名称
是
备份仓库的名称。
桶区域
是
OBS桶所在的区域,相同区域资源之间内网相通。选择靠近您业务的区域可降低网络时延,提高访问速度。
桶名称
是
选择用于存储备份数据的OBS桶。
子目录
否
备份数据在桶中的存储路径,默认存储在桶根目录。子目录中禁止包含除 restores、 backups 之外的文件或文件夹,避免备份恢复任务失败,或造成已有数据覆盖。
访问模式
是
- 读写:可以使用备份仓库进行集群备份,也可以使用备份仓库中的数据恢复集群。
- 只读:备份仓库只读时,只能使用备份仓库中的数据恢复集群,不能使用备份仓库进行集群备份。
- 单击“确定”。
创建备份计划或立即备份
您可以选择创建备份计划或立即备份,备份任务的状态将会被记录在“备份记录”页签。
创建备份计划后,系统会按照设置周期性地进行备份,例如,每隔一段时间,或每天、每周、每月等特定的某个时间。
- 登录CCE控制台,单击集群名称进入集群。
- 选择左侧导航栏的“备份中心”,单击“创建备份计划”。
- 填写备份计划参数。

表2 备份计划参数说明 参数名称
是否必须
参数解释
备份计划名称
是
集群备份计划的名称。备份计划的名称长度不能超过48个字符,否则会导致备份计划执行失败。
备份仓库
是
集群备份存储的仓库。
备份命名空间
否
默认备份全部命名空间,支持从下拉列表选择需要备份的命名空间,或手动输入命名空间,支持通配符匹配(如 app-*)。仅输入 * 时,代表全部命名空间。
排除命名空间
否
命名空间支持两种方式添加:
- 从下拉列表中直接选择已有的命名空间(可多选)。
- 手动输入命名空间名称,也可以使用通配符来匹配一类命名空间,例如:
- app-*(匹配所有以"app-"开头的命名空间)、ns?(匹配长度为3的命名空间)、test[a-c](匹配 testa、testb、testc)。
- 允许使用的通配符:*(任意多个字符)、?(单个字符)、[abc](其中任一字符)、[a-z](范围内的任一字符)。
- 不能使用 {} () | ! 这些符号,也不能连续写两个星号 **,也不能写空的方括号 []。
- 注意:不支持仅输入单个 *(不跟其他字符),因为排除所有命名空间无意义。
注意:备份恢复kube-system、kube-public、kube-node-lease等命名空间的应用可能导致集群工作负载异常,请谨慎操作。
备份数据卷
否
默认开启备份数据卷。开启后,执行集群备份时,将自动对备份命名空间内与存储卷声明(PVC)关联的云硬盘类型存储卷(PV)中的数据创建快照。
注意:单个云硬盘最大支持创建256个快照,请确保云硬盘的快照个数未超过最大值且租户的快照配额充足,否则会导致备份PV失败。
备份周期
是
指定备份任务在何时执行,支持以下方式:
- 以固定周期执行定时任务,支持的周期单位为分钟、小时、日、月。例如,每30分钟执行一次任务,对应的CRON表达式为“*/30 * * * *”,执行时间将从单位范围内的0值开始计算,如00:00:00、00:30:00、01:00:00、...。
- 以固定时间(按月)执行定时任务。例如,在每个月1日的0时0分执行任务,对应的CRON表达式为“0 0 1 */1 *”,执行时间为****-01-01 00:00:00、****-02-01 00:00:00、...。
- 以固定时间(按周)执行定时任务。例如,在每周一的0时0分执行任务,对应的CRON表达式为“0 0 * * 1”,执行时间为****-**-01 周一 00:00:00、****-**-08 周一 00:00:00、...。
- 自定义CRON表达式:关于CRON表达式的用法,可参考创建备份计划时,自定义CRON表达式如何填写?。
说明:- 以固定时间(按月)执行定时任务时,在某月的天数不存在的情况下,任务将不会在该月执行。例如设置天数为30,而2月份没有30号,任务将跳过该月份,在3月30号继续执行。
- 由于CRON表达式的定义,这里的固定周期并非严格意义的周期。将从0开始按周期对其时间单位范围(例如单位为分钟时,则范围为0~59)进行划分,无法整除时最后一个周期会被重置。因此仅在周期能够平均划分其时间单位范围时,才能表示准确的周期。
举个例子,周期单位为小时,因为“/2、/3、/4、/6、/8和/12”可将24小时整除,所以可以表示准确的周期;而使用其他周期时,在新的一天开始时,最后一个周期将会被重置。比如CRON式为“* */12 * * *”时为准确的周期,每天的执行时间为00:00:00和12:00:00;而CRON式为“* */13 * * *”时,每天的执行时间为00:00:00和13:00:00,在第二天0时,虽然没到13个小时的周期还是会被刷新。
高级配置(可选)
指定 K8s 标签备份
否
根据K8s标签备份资源。
包含资源(可选)
否
指定后,仅备份特定资源类型,如 deployments、configmaps。
资源名称支持以下多种匹配方式:
- 资源名称,如 deployments 表示匹配所有 Deployment 资源。
- 资源按 API Group 精确匹配,如 deployments.apps 表示仅匹配 apps 组的 Deployment 资源。
- 资源按 API Group 统配匹配,如 *.apps 表示匹配 apps 组的所有 Kubernetes 资源。
资源名称规则说明:
- 支持同时添加多个资源名称或使用 * 通配符。
- 仅输入 * 时,代表所有资源,此时不能再添加任何其他项。
说明:手动输入的内容只做格式检查,实际备份/恢复时只会对集群中真实存在的资源名称生效。
排除资源(可选)
否
根据标签筛选之后,可以排除特定资源类型,如pods,secrets。
资源名称支持以下多种匹配方式:
- 资源名称,如 deployments 表示匹配所有 Deployment 资源。
- 资源按 API Group 精确匹配,如 deployments.apps 表示仅匹配 apps 组的 Deployment 资源。
- 资源按 API Group 统配匹配,如 *.apps 表示匹配 apps 组的所有 Kubernetes 资源。
资源名称规则说明:
- 支持同时添加多个资源名称或使用 * 通配符。
- 不支持仅输入单个 *。
说明:- 手动输入的内容只做格式检查,实际备份/恢复时只会对集群中真实存在的资源名称生效。
- 默认排除VolumeSnapshot和VolumeSnapshotContent,该资源是Velero在备份PVC时,由CSI插件动态创建的临时对象,用于触发底层存储系统执行真正的快照操作。它们属于Velero内部实现机制的一部分,不是用户部署的应用资源,所以Velero默认不会备份VolumeSnapshot和 VolumeSnapshotContent类型的资源。
备份有效期
否
备份数据存储由系统按 1 小时周期执行过期清理。一旦触发清理,过期备份将被永久删除,不可用于恢复操作。
备份有效期默认值为30天。
- 单击“确定”。
立即备份操作后会立刻执行备份过程,备份完成后停止,适用于克隆/迁移。在立即备份前需要先创建备份仓库。
- 登录CCE控制台,单击集群名称进入集群。
- 选择左侧导航栏的“备份中心”,单击“立即备份”按钮。
- 填写备份参数。

表3 立即备份参数说明 参数名称
是否必须
参数解释
名称
是
集群备份的名称。
备份仓库
是
集群备份存储的仓库。
备份命名空间
否
默认备份全部命名空间,支持从下拉列表选择需要备份的命名空间,或手动输入命名空间,支持通配符匹配(如 app-*)。仅输入 * 时,代表全部命名空间。
排除命名空间
否
命名空间支持两种方式添加:
- 从下拉列表中直接选择已有的命名空间(可多选)。
- 手动输入命名空间名称,也可以使用通配符来匹配一类命名空间,例如:
- app-*(匹配所有以"app-"开头的命名空间)、ns?(匹配长度为3的命名空间)、test[a-c](匹配 testa、testb、testc)。
- 允许使用的通配符:*(任意多个字符)、?(单个字符)、[abc](其中任一字符)、[a-z](范围内的任一字符)。
- 不能使用 {} () | ! 这些符号,也不能连续写两个星号 **,也不能写空的方括号 []。
- 注意:不支持仅输入单个 *(不跟其他字符),因为排除所有命名空间无意义。
注意:备份恢复kube-system、kube-public、kube-node-lease等命名空间的应用可能导致集群工作负载异常请谨慎操作。
备份数据卷
否
开启后,执行集群备份时,将自动对备份命名空间内与存储卷声明(PVC)关联的云硬盘类型存储卷(PV)中的数据创建快照。
注意:单个云硬盘最大支持创建256个快照,请确保云硬盘的快照个数未超过最大值且租户的快照配额充足,否则会导致备份PV失败。
高级配置(可选)
指定 K8s 标签备份
否
根据K8s标签备份资源。
包含资源(可选)
否
指定后,仅备份特定资源类型,如 deployments、configmaps。
资源名称支持以下多种匹配方式:
- 资源名称,如 deployments 表示匹配所有 Deployment 资源。
- 资源按 API Group 精确匹配,如 deployments.apps 表示仅匹配 apps 组的 Deployment 资源。
- 资源按 API Group 统配匹配,如 *.apps 表示匹配 apps 组的所有 Kubernetes 资源。
资源名称规则说明:
- 支持同时添加多个资源名称或使用 * 通配符。
- 仅输入 * 时,代表所有资源,此时不能再添加任何其他项。
说明:手动输入的内容只做格式检查,实际备份/恢复时只会对集群中真实存在的资源名称生效。
排除资源(可选)
否
根据标签筛选之后,可以排除特定资源类型,如pods,secrets。
资源名称支持以下多种匹配方式:
- 资源名称,如 deployments 表示匹配所有 Deployment 资源。
- 资源按 API Group 精确匹配,如 deployments.apps 表示仅匹配 apps 组的 Deployment 资源。
- 资源按 API Group 统配匹配,如 *.apps 表示匹配 apps 组的所有 Kubernetes 资源。
资源名称规则说明:
- 支持同时添加多个资源名称或使用 * 通配符。
- 不支持仅输入单个 *。
说明:- 手动输入的内容只做格式检查,实际备份/恢复时只会对集群中真实存在的资源名称生效。
- 默认排除VolumeSnapshot和VolumeSnapshotContent,该资源是Velero在备份PVC时,由CSI插件动态创建的临时对象,用于触发底层存储系统执行真正的快照操作。它们属于Velero内部实现机制的一部分,不是用户部署的应用资源,所以Velero默认不会备份VolumeSnapshot和 VolumeSnapshotContent类型的资源。
备份有效期
否
备份数据存储由系统按 1 小时周期执行过期清理。一旦触发清理,过期备份将被永久删除,不可用于恢复操作。
- 单击“确定”。
立即恢复
- 登录CCE控制台,单击集群名称进入集群。
- 选择左侧导航栏的“备份中心”,单击“立即恢复”按钮。
- 填写备份参数。

表4 立即恢复参数说明 参数名称
是否必须
参数解释
恢复名称
是
恢复名称。
备份仓库
是
选择存储备份数据的仓库。
备份记录
是
选择备份记录。
恢复命名空间
否
默认恢复备份记录中的所有命名空间。支持从下拉列表选择或手动输入命名空间(支持通配符如 app-*)。若备份时选择全部命名空间,下拉仅提供"全部命名空间",可手动输入指定范围。
重定义命名空间
否
修改备份数据的命名空间,将命名空间A的资源恢复到命名空间B。
相关文档
如果在使用过程中遇到相关报错或问题,请优先查阅文档解决。详情请参见备份中心常见问题。