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等),您的集群备份数据仍然将会保留。
安装插件
- 登录CCE控制台,单击集群名称进入集群。
- 单击左侧导航栏的“插件中心”,在右侧找到Velero插件,单击“安装”。
- 在安装插件页面,根据需求选择“规格配置”。
Velero采用单实例设计。多实例并发会引发数据写冲突与状态脑裂,导致备份损坏或恢复失败。单实例架构能有效确保状态一致,全力保障您的数据绝对安全。
- 选择“系统预置规格”时,您可根据集群规模进行选择,系统会根据不同的预置规格配置插件的实例数及资源配额,具体配置值请以控制台显示为准。
- 选择“自定义规格”时,您可根据需求调整插件实例数和资源配额。
如果您的集群规模较大,系统预置规格仍无法满足诉求,您可以使用自定义规格,并评估集群的Pod数量来进一步确定插件的内存使用量,典型的大规模场景组件内存申请值和限制值建议如下:
- 内存申请值 = Pod数量 * Pod的YAML大小(Kb)/ 1w * 0.05G
- 内存限制值 = 内存申请值+2G
例如2w个Pod的场景下,每个Pod的YAML为15Kb,则内存申请值 = 2 * 15 * 0.05G = 1.5G;内存限制值 = 1.5G + 2G = 3.5G
表1 大规模场景的插件内存建议值 Pod数量(每个Pod的YAML配置以10Kb计算)
建议内存申请值
建议内存限制值
10000
1Gi
3Gi
20000
2Gi
4Gi
50000
4Gi
6Gi
100000
8Gi
10Gi
200000
16Gi
18Gi
- 设置“委托配置”。 插件在运行时需要访问其他云服务资源,需要您通过委托配置授权插件对各类云服务资源进行操作。详情请参见插件自定义委托说明。
- 系统快速创建:自动创建该插件的默认委托并使用,默认委托如果已存在则不会重复创建。
- 使用已有:在选择委托的下拉列表中选择创建的委托。请确保已对创建的自定义委托授予了必须的权限,否则插件功能可能无法正常使用。
- 设置插件支持的“参数配置”。
表2 扩展参数配置 配置项
参数说明
annotations
为Velero工作负载添加注解,默认为空。
tenant_id
参数值为自动填充的项目ID,插件运行使用请勿修改。
cluster_id
参数值为自动填充的项目ID,插件运行使用请勿修改。
- 设置插件实例的部署策略。
设置多可用区部署或节点亲和策略时,需保证集群中存在满足调度策略的节点且拥有足够的资源,否则插件实例将无法运行。
表3 插件调度配置 参数
参数说明
节点亲和
容忍策略
容忍策略与节点的污点能力配合使用,允许(不强制)插件的 Deployment 实例调度到带有与之匹配的污点的节点上,也可用于控制插件的 Deployment 实例所在的节点被标记污点后插件的 Deployment 实例的驱逐策略。
插件会对实例添加针对node.kubernetes.io/not-ready和node.kubernetes.io/unreachable污点的默认容忍策略,容忍时间窗为60s。
详情请参见设置容忍策略。
- 单击“安装”。
组件说明
| 容器组件 | 说明 | 资源类型 |
|---|---|---|
| velero | Velero的controller核心组件,提供备份和恢复 Kubernetes 集群资源及持久卷的功能 | Deployment |
使用说明
安装Velero插件后,您可以前往备份中心进行集群内的应用备份与恢复,详细功能介绍及操作指导请参见备份中心。
版本记录
| 插件版本 | 支持的集群版本 | 更新特性 | 社区版本 |
|---|---|---|---|
| 1.35.10 | v1.35 | 支持集群备份 |
| 插件版本 | 支持的集群版本 | 更新特性 | 社区版本 |
|---|---|---|---|
| 1.34.10 | v1.34 | 支持集群备份 |
| 插件版本 | 支持的集群版本 | 更新特性 | 社区版本 |
|---|---|---|---|
| 1.33.10 | v1.33 | 支持集群备份 |
| 插件版本 | 支持的集群版本 | 更新特性 | 社区版本 |
|---|---|---|---|
| 1.32.10 | v1.32 | 支持集群备份 |
| 插件版本 | 支持的集群版本 | 更新特性 | 社区版本 |
|---|---|---|---|
| 1.31.10 | v1.31 | 支持集群备份 |
| 插件版本 | 支持的集群版本 | 更新特性 | 社区版本 |
|---|---|---|---|
| 1.31.10 | v1.31 | 支持集群备份 |
| 插件版本 | 支持的集群版本 | 更新特性 | 社区版本 |
|---|---|---|---|
| 1.29.10 | v1.29 | 支持集群备份 |