
# 集群内备份和恢复应用
备份中心可用于解决Kubernetes集群内的应用备份与恢复，实现集群的备份容灾能力。它能够对集群内的资源对象（如Deployment、Service、ConfigMap）及持久化卷数据（PV/PVC）进行一体化的保护，支持为整个命名空间或指定应用设置自动化备份和快速恢复，有效应对人为误操作、应用故障或数据损坏等风险。
#### 前提条件
- 集群中已安装[Velero](https://support.huaweicloud.com/usermanual-cce/cce_10_1162.html)插件。
- Velero使用OBS桶作为后端存储库，在使用前需要提前创建OBS桶。
 
#### 注意事项
- 备份/恢复过程中，请保证集群处于稳态，不要触发增删改等变更行为，以免出现备份/恢复失败或不完整。
- 若集群发生变更，建议等15分钟后，集群处于稳态，再进行备份操作。
- 使用**备份数据卷** 时，仅提供EVS类型的PV卷进行快照备份，并遵循快照的约束，详情请参见[创建云硬盘快照](https://support.huaweicloud.com/usermanual-evs/zh-cn_topic_0066615262.html)。
- 使用**备份数据卷**时，单次备份任务中，当前选择的备份命名空间下的EVS类型的PVC/PV数量不能超过10000个，否则可能导致创建云硬盘快照失败。
- 备份只保存当前的数据，恢复功能会自动跳过已存在的资源。
- 恢复集群时还原的PV如果没有绑定任何PVC，直接删除PV并不会删除云硬盘，请前往EVS控制台删除资源。
 
#### 计费说明
- 创建备份仓库需要使用OBS桶用于存放集群备份的资源，涉及OBS费用，具体请参见[OBS计费概述](https://support.huaweicloud.com/price-obs/obs_42_0001.html)。
- 使用**备份数据卷** 功能，该功能会自动为EVS类型的PV卷进行快照备份。其中，创建快照涉及一定费用，具体请参见[云硬盘快照计费说明](https://support.huaweicloud.com/productdesc-evs/evs_01_1603.html)。
 
#### 创建备份仓库
备份仓库用于存放一个或多个集群的应用备份数据。若创建备份任务时没有可用的备份仓库，则需要执行该步骤新建备份仓库。
1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)，单击集群名称进入集群。
2. 选择左侧导航栏的"备份中心"，切换至"备份仓库"页签，单击"创建备份仓库"。
3. 填写备份仓库信息。 
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002588926310.png "点击放大")
   表1备份仓库参数说明 
   | 参数名称   | 是否必须 | 参数解释                                                                                                                                                                                                                                           |
   |:---|:---|:---|
   | 备份仓库名称 | 是    | 备份仓库的名称。                                                                                                                                                                                                                                       |
   | 桶区域    | 是    | OBS桶所在的区域，相同区域资源之间内网相通。选择靠近您业务的区域可降低网络时延，提高访问速度。                                                                                                                                                                                               |
   | 桶名称    | 是    | 选择用于存储备份数据的OBS桶。                                                                                                                                                                                                                               |
   | 子目录    | 否    | 备份数据在桶中的存储路径，默认存储在桶根目录。子目录中禁止包含除 restores、 backups 之外的文件或文件夹，避免备份恢复任务失败，或造成已有数据覆盖。                                                                                                                                                             |
   | 访问模式   | 是    | - 读写：可以使用备份仓库进行集群备份，也可以使用备份仓库中的数据恢复集群。  - 只读：备份仓库只读时，只能使用备份仓库中的数据恢复集群，不能使用备份仓库进行集群备份。   |
      
   
   
4. 单击"确定"。
 
#### 创建备份计划或立即备份
您可以选择创建备份计划或立即备份，备份任务的状态将会被记录在"备份记录"页签。
- [创建备份计划]
- [立即备份]
创建备份计划后，系统会按照设置周期性地进行备份，例如，每隔一段时间，或每天、每周、每月等特定的某个时间。
1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)，单击集群名称进入集群。
2. 选择左侧导航栏的"备份中心"，单击"创建备份计划"。
3. 填写备份计划参数。 
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002619366511.png "点击放大")
   表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表达式如何填写？](https://support.huaweicloud.com/usermanual-cce/cce_10_1164.html#cce_10_1164__section74077282492)。   说明： - 以固定时间（按月）执行定时任务时，在某月的天数不存在的情况下，任务将不会在该月执行。例如设置天数为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天。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
      
   
   
4. 单击"确定"。
 
立即备份操作后会立刻执行备份过程，备份完成后停止，适用于克隆/迁移。在立即备份前需要先创建备份仓库。
1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)，单击集群名称进入集群。
2. 选择左侧导航栏的"备份中心"，单击"立即备份"按钮。
3. 填写备份参数。 
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002619366695.png "点击放大")
   表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 小时周期执行过期清理。一旦触发清理，过期备份将被永久删除，不可用于恢复操作。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
      
   
   
4. 单击"确定"。
 
#### 立即恢复
1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)，单击集群名称进入集群。
2. 选择左侧导航栏的"备份中心"，单击"立即恢复"按钮。
3. 填写恢复参数。 
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002588927280.png "点击放大")
   表4立即恢复参数说明 
   | 参数名称    | 是否必须 | 参数解释                                                                                     |
   |:---|:---|:---|
   | 恢复名称    | 是    | 恢复名称。                                                                                    |
   | 备份仓库    | 是    | 选择存储备份数据的仓库。                                                                             |
   | 备份记录    | 是    | 选择备份记录。                                                                                  |
   | 恢复命名空间  | 否    | 默认恢复备份记录中的所有命名空间。支持从下拉列表选择或手动输入命名空间（支持通配符如 app-\*）。若备份时选择全部命名空间，下拉仅提供"全部命名空间"，可手动输入指定范围。 |
   | 重定义命名空间 | 否    | 修改备份数据的命名空间，将命名空间A的资源恢复到命名空间B。                                                           |
      
   
   
 
#### 相关文档
如果在使用过程中遇到相关报错或问题，请优先查阅文档解决。详情请参见[备份中心常见问题](https://support.huaweicloud.com/usermanual-cce/cce_10_1164.html)。
