# Velero
Velero是一款提供备份和恢复Kubernetes集群资源及持久卷的插件，它将用户应用数据和业务数据备份到OBS桶中，并提供数据的本地备份和远程备份的能力。
您可以在以下场景中使用Velero插件：
- 对您的集群进行备份，以便在数据丢失时进行恢复。
- 将集群资源迁移到其他集群。
- 将您的生产集群复制到开发和测试集群中。
开源社区地址：<https://github.com/velero-io/velero>
使用方式：<https://velero.io/docs/main/>
#### 前提条件
已创建v1.29及以上的CCE Standard集群或CCE Turbo集群。
#### 约束与限制
- 如果您已经在集群中部署了社区的Velero，请您先将其卸载后再安装CCE提供的Velero插件，否则可能会出现插件安装失败的情况。
- 卸载Velero插件后将保留插件相关的CRD（Custom Resource Definitions）和对应的CR对象（Custom Resources，如ConstraintTemplates、Constraints等），您的集群备份数据仍然将会保留。
 
 #### 安装插件
1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)，单击集群名称进入集群。
2. 单击左侧导航栏的"插件中心"，在右侧找到**Velero**插件，单击"安装"。
3. 在安装插件页面，根据需求选择"规格配置"。 
   ![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/note_3.0-zh-cn.png)
   Velero采用单实例设计。多实例并发会引发数据写冲突与状态脑裂，导致备份损坏或恢复失败。单实例架构能有效确保状态一致，全力保障您的数据安全。
   - 选择"系统预置规格"时，您可根据集群规模进行选择，系统会根据不同的预置规格配置插件的实例数及资源配额，具体配置值请以控制台显示为准。
   
   - 选择"自定义规格"时，您可根据需求调整插件实例数和资源配额。 如果您的集群规模较大，系统预置规格仍无法满足诉求，您可以使用自定义规格，并评估集群的Pod数量来进一步确定插件的内存使用量，典型的大规模场景组件内存申请值和限制值建议如下：
     - **CPU限制值 = 集群中资源数量 / 10000 \* N** （N=500m，当集群资源数量\>20000个时N=400m）
       例如20000个资源的场景下，则CPU限制值 = 2 \* 500m = 1000m。
       
     
     - **内存限制值 = 集群中资源数量 \* 资源的YAML大小（Kb）/ 10000 \* 55Mi**
       例如20000个资源的场景下，每个资源的YAML为15Kb，则内存限制值 = 2 \* 15 \* 55Mi = 1650Mi。（该计算方法相比[表1]中的建议值会存在一定的误差，通过查表或计算均可）
       
     
     - CPU和内存申请值建议不低于限制值的1/4。
     
     
      表1大规模场景的插件内存建议值 
     | 集群资源数量（每个资源的YAML配置以15Kb计算） | 建议CPU申请值 | 建议CPU限制值 | 建议内存申请值  | 建议内存限制值 |
     |:---|:---|:---|:---|:---|
     | 10000                    | 125m    | 500m    | 200Mi    | 800Mi    |
     | 20000                       | 250m     | 1000m    | 500Mi   | 2000Mi   |
     | 50000                     | 500m     | 2000m     | 1000Mi  | 4000Mi   |
     | 100000                      | 1000m  | 4000m   | 2000Mi | 8000Mi  |
     | 200000                      | 2000m    | 8000m   | 4000Mi   | 16000Mi  |
        
     
   
   
   
   
4. 设置"委托配置"。 
   插件在运行时需要访问其他云服务资源，需要您通过委托配置授权插件对各类云服务资源进行操作。详情请参见[插件自定义委托说明](https://support.huaweicloud.com/usermanual-cce/cce_10_1099.html)。
   - 系统快速创建：自动创建该插件的默认委托并使用，默认委托如果已存在则不会重复创建。
   
   - 使用已有：在选择委托的下拉列表中选择创建的委托。**请确保已对创建的自定义委托授予了必须的权限，否则插件功能可能无法正常使用。**
    
   
   
5. 设置插件支持的"参数配置"。 
   表2扩展参数配置 
   | 配置项       | 参数说明                        |
   |:---|:---|
   | annotations  | 为Velero工作负载添加注解，默认为空。        |
   | tenant_id  | 参数值为自动填充的项目ID，插件运行使用请勿修改。   |
   | cluster_id | 参数值为自动填充的项目ID，插件运行使用请勿修改。 |
      
   
   
6. 设置插件实例的部署策略。 
   ![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/note_3.0-zh-cn.png)
   设置多可用区部署或节点亲和策略时，需保证集群中存在满足调度策略的节点且拥有足够的资源，否则插件实例将无法运行。
   表3插件调度配置 
   | 参数   | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   |:---|:---|
   | 节点亲和 | - 不配置：插件实例不指定节点亲和调度。  - 指定节点调度：指定插件实例部署的节点。若不指定，将根据集群默认调度策略进行随机调度。  - 指定节点池调度：指定插件实例部署的节点池。若不指定，将根据集群默认调度策略进行随机调度。  - 自定义亲和策略：填写期望插件部署的节点标签实现更灵活的调度策略，若不填写将根据集群默认调度策略进行随机调度。 同时设置多条自定义亲和策略时，需要保证集群中存在同时满足所有亲和策略的节点，否则插件实例将无法运行。    |
   | 容忍策略  | 容忍策略与节点的污点能力配合使用，允许（不强制）插件的 Deployment 实例调度到带有与之匹配的污点的节点上，也可用于控制插件的 Deployment 实例所在的节点被标记污点后插件的 Deployment 实例的驱逐策略。 插件会对实例添加针对**node.kubernetes.io/not-ready** 和**node.kubernetes.io/unreachable**污点的默认容忍策略，容忍时间窗为60s。 详情请参见[设置容忍策略](https://support.huaweicloud.com/usermanual-cce/cce_10_0728.html)。                                                                                                                                                                                                                                                                |
      
   
   
7. 单击"安装"。
 
#### 组件说明
表4Velero组件 
| 容器组件 | 说明                                                     | 资源类型        |
|:---|:---|:---|
| velero | Velero的controller核心组件，提供备份和恢复 Kubernetes 集群资源及持久卷的功能 | Deployment |
   
#### 使用说明
安装Velero插件后，您可以前往备份中心进行集群内的应用备份与恢复，详细功能介绍及操作指导请参见[备份中心](https://support.huaweicloud.com/usermanual-cce/cce_10_1158.html)。
#### 版本记录
表5v1.35集群配套插件版本记录 
| 插件版本     | 支持的集群版本 | 更新特性              | 社区版本                                                        |
|:---|:---|:---|:---|
| 1.35.26 | v1.35  | 修复部分问题 | [1.18.0](https://github.com/velero-io/velero/tree/v1.18.0)  |
| 1.35.10 | v1.35  | 支持集群备份             | [1.18.0](https://github.com/velero-io/velero/tree/v1.18.0) |
   
表6v1.34集群配套插件版本记录 
| 插件版本     | 支持的集群版本 | 更新特性   | 社区版本                                                       |
|:---|:---|:---|:---|
| 1.34.26   | v1.34  | 修复部分问题 | [1.18.0](https://github.com/velero-io/velero/tree/v1.18.0) |
| 1.34.10 | v1.34    | 支持集群备份 | [1.18.0](https://github.com/velero-io/velero/tree/v1.18.0) |
   
表7v1.33集群配套插件版本记录 
| 插件版本     | 支持的集群版本 | 更新特性      | 社区版本                                                         |
|:---|:---|:---|:---|
| 1.33.26  | v1.33 | 修复部分问题 | [1.18.0](https://github.com/velero-io/velero/tree/v1.18.0) |
| 1.33.10 | v1.33   | 支持集群备份   | [1.18.0](https://github.com/velero-io/velero/tree/v1.18.0)  |
   
表8v1.32集群配套插件版本记录 
| 插件版本    | 支持的集群版本 | 更新特性    | 社区版本                                                        |
|:---|:---|:---|:---|
| 1.32.26  | v1.32    | 修复部分问题 | [1.17.2](https://github.com/velero-io/velero/tree/v1.17.2)    |
| 1.32.10 | v1.32    | 支持集群备份  | [1.17.2](https://github.com/velero-io/velero/tree/v1.17.2) |
   
表9v1.31集群配套插件版本记录 
| 插件版本     | 支持的集群版本 | 更新特性  | 社区版本                                                      |
|:---|:---|:---|:---|
| 1.31.26 | v1.31   | 修复部分问题 | [1.17.2](https://github.com/velero-io/velero/tree/v1.17.2) |
| 1.31.10 | v1.31 | 支持集群备份 | [1.17.2](https://github.com/velero-io/velero/tree/v1.17.2) |
   
表10v1.30集群配套插件版本记录 
| 插件版本    | 支持的集群版本 | 更新特性   | 社区版本                                                          |
|:---|:---|:---|:---|
| 1.30.26 | v1.30   | 修复部分问题 | [1.15.2](https://github.com/velero-io/velero/tree/v1.15.2) |
| 1.30.10 | v1.30    | 支持集群备份   | [1.15.2](https://github.com/velero-io/velero/tree/v1.15.2)   |
   
表11v1.29集群配套插件版本记录 
| 插件版本   | 支持的集群版本 | 更新特性   | 社区版本                                                        |
|:---|:---|:---|:---|
| 1.29.26 | v1.29     | 修复部分问题 | [1.15.2](https://github.com/velero-io/velero/tree/v1.15.2) |
| 1.29.10 | v1.29 | 支持集群备份 | [1.15.2](https://github.com/velero-io/velero/tree/v1.15.2) |
   
