更新时间:2024-06-17 GMT+08:00

e-backup插件

插件简介

E-Backup是云原生存储系统(Everest2.0)中负责云原生应用数据保护的子系统。它支持用户将应用数据(k8s资源)和业务数据(pv卷中的数据)备份到OBS桶中,也允许用户将某次备份数据恢复到指定的K8s集群中。

E-Backup通过备份和恢复两个子功能提供对以下使用场景的支持:

  • 单集群下的容灾

    周期性地对集群内部署的应用进行备份,在集群或者应用被破坏时通过恢复功能将应用重新部署到集群中,继续向外提供服务,实现应用的容灾。

  • 同集群/跨集群的克隆

    对于需要大批量部署到多个集群中的应用,特别是应用已经在某个集群工作一段时间后需要增添实例的情况。首先对处于工作状态的应用进行备份,随后恢复到同集群的不同Namespace下或者其他集群中,实现应用的克隆。

  • 跨集群/跨云的迁移

    由于网络、成本、业务地点变动等原因,需要将应用从某个集群迁移到跨Region的另一个集群,或者从其他云的集群迁入CCE。对迁出集群中的应用进行备份,而后恢复到迁入集群中,实现应用的迁移。

约束与限制

  • 目标集群Kubernetes版本需为1.15及以上,且集群中至少包含一个可用节点。
  • 集群在安装插件时,需要保证集群可正常拉取SWR镜像。
  • 备份/恢复过程中,需尽量保证集群处于稳态,不要触发增、删、改等变更行为,以免出现备份/恢复失败或不完整的情况。若集群发生变更,建议等15分钟后,集群处于稳态,再做备份操作。
  • E-Backup插件集成开源的Restic组件完成PV数据备份,会对备份时间点的数据做自有快照,并上传数据,不影响用户后续数据的读写,但Restic不进行文件内容的校验和业务一致性校验,其特性遵循restic约束。
  • Restic组件占用内存大小与初次备份的PV卷数据大小有关。若PV卷数据大于300G,建议采用云存储提供的迁移方式。若使用应用数据管理功能迁移大量PV数据,可修改restic实例的资源配额,具体操作方式请参见修改插件资源配额
  • E-Backup插件遵循开源Velero和Restic插件的约束,例如在恢复过程中Service会清除ClusterIP以适应源集群和目标集群间的差异。
  • 若在CCE集群中使用了扩展加密的Secret类型(cfe/secure-opaque),在恢复到其他集群时,需要提前手动创建同名、同类型的Secret(不同集群加解密物料不同),以免恢复的应用无法成功运行。

安装插件

安装E-Backup插件后,请谨慎卸载,否则可能导致已有的备份无法恢复。因为E-Backup插件在执行备份恢复任务时,依赖自定义资源BackupStorageLocation及其Secret,该资源在卸载后重新安装会发生更改。

  1. 登录集群控制台。
  2. 在左侧导航栏中单击“插件管理”,在可安装插件栏中单击E-Backup插件下的“安装”按钮。
  3. 参照表1进行插件规格配置。

    表1 E-Backup插件规格配置

    参数

    参数说明

    插件规格

    单实例部署。

    容器

    设置插件容器实例的资源配额。

    • velero:提供K8s元数据备份/恢复支持。
    • restic:提供应用数据存储卷备份/恢复支持。
    说明:
    • 集群中需要预留足够的资源,若资源不足,插件实例将无法调度。
    • 申请值需小于等于限制值,否则无法成功创建。
    • 请根据备份/恢复数据量大小,适当调整资源限制以避免插件故障。

  4. 进行参数配置,当前支持配置以下参数。

    volumeWorkerNum:代表并发执行数据卷备份的工作数量,默认为3。
    {
        "volumeWorkerNum": 3
    }

  5. 单击“安装”后,返回“插件管理”页面查看已安装插件,插件状态为“运行中”,表明该插件已在当前集群中安装成功。

修改插件资源配额

  1. 登录集群控制台。
  2. 在左侧导航栏中单击“插件管理”,在已安装插件栏中单击E-Backup插件下的“编辑”按钮。
  3. 修改插件规格配置,相关参数说明请参见表1
  4. 单击“确定”,插件状态为“升级中”。待升级完成后,修改后的插件配置将会生效。