阿里云容器服务备份中心为集群内的有状态应用提供灾难备份和恢复能力,对于Kubernetes集群内的有状态应用的崩溃一致性、应用一致性及跨地域的灾难恢复提供了一站式的解决方案。本文介绍如何通过控制台应用备份功能实现应用的备份、制作快照及应用的恢复。

前提条件

已安装备份服务组件。具体操作,请参见开启集群备份

使用限制

  • 备份应用时,正在被删除的资源不会被备份。
  • 如果您需要使用HBR文件备份功能,需要提交工单申请。
  • 如果想使用云盘快照备份卷,需要安装CSI插件,且其版本不低于1.1.0。关于如何安装CSI插件,请参见安装与升级CSI组件
  • 如果需要创建NAS快照(即制作快照时对应PVC的转换为存储类列选择为alibabacloud-cnfs-nas),需要您先创建storageClass。具体操作,请参见使用CNFS托管NAS文件系统

计费说明

若备份时,使用了云盘、NAS、HBR或快照等存储资源,计费说明如下所示:

步骤一:创建备份仓库

当前应用备份功能使用阿里云OSS对备份数据进行存储。若创建备份任务时无可用的备份仓库,则需执行该步骤。一个集群只需要指定一次备份仓库。
说明 在您集群的所在地域只需要创建一次备份仓库,即您可在同一个地域的不同集群使用同一个备份仓库。
  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,单击集群
  3. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情
  4. 在集群管理页左侧导航栏选择运维管理 > 应用备份(公测)
  5. 应用备份页面备份仓库页签下单击创建
  6. 创建面板配置参数,然后单击确定
    参数 说明
    名称 备份仓库的名称,支持小写字母和数字。
    Bucket区域 OSS Bucket所在地域。
    Bucket名称 OSS Bucket的名称。若为ACK托管版集群,则OSS Bucket的名称需要以cnfs-开头。可以通过CNFS OSS声明一个新的Bucket
    Bucket子目录 OSS Bucket的子目录(非必填)。

步骤二:创建备份任务

  1. 应用备份页面单击备份计划页签。
  2. 备份计划页签单击创建
  3. 创建面板设置备份应用的相关参数,然后单击确定
    创建备份
    参数 描述
    名称 设置备份任务的名称,必填项。
    备份仓库 选择需要关联的备份仓库,必填项。
    备份命名空间 支持选中一个或者多个备份命名空间。表示备份选中的一个或多个命名空间中的应用,必填项。
    指定标签备份 填写需要备份的应用标签,以指定备份带有该标签的应用。
    排除命名空间 支持选中一个或者多个排查命名空间。表示备份时排除选中的命名空间中的应用。
    指定资源 支持填写多个资源对象名称,多个资源对象名称以英文逗号(,)间隔,例如deploy, configmap等。指定资源后可以只备份特定资源。
    排除资源 支持填写多个资源对象名称,多个资源对象名称以英文逗号(,)间隔,例如pod, secret等。表示排除备份选中的资源对象应用。
    备份存储卷 设置是否开启备份存储卷以及存储应用中的数据。

    当选中备份存储卷时,默认为您进行数据备份。如果存储卷是云盘,则通过快照进行备份;如果存储卷不是云盘,则会通过HBR方式进行备份。

    备份有效期 设置备份任务的数据存储有效期,过期之后数据将无法恢复。
    备份类型 选择立即备份定时备份

    当设置为定时备份时,需要配置备份周期。支持Crontab表达式设置定时备份。关于如何使用Crontab表达式,请参见how-use-cron-linux

    说明
    • 备份任务名称仅支持小写字母和数字,不能有空格。
    • 备份命名空间及排除命名空间均可以选择多个。
    • 如果指定标签备份,每个备份任务只能输入一个标签。
    • 备份存储卷时,云盘快照集成了阿里云云盘快照技术,而HBR是阿里云混合云备份服务的简称,是一种高效、安全、低成本的全托管式云备份存储服务。
    • 定时备份的表达式,支持Linux Crontab以及按照间隔备份。
    • 如果开启了定时备份功能,则在应用备份页面的备份计划页签可以看到定时备份的详细配置信息。
    备份和快照页签下创建的备份任务状态显示Completed,表示该任务备份成功。

步骤三:为文件系统类型的数据卷制作快照

若创建备份任务时已选中备份存储卷且存储类型使用了非云盘类型,即使用混合云备份服务HBR(Hybrid Backup Recovery)进行文件备份。根据恢复需求,您可在恢复集群中选择制作云盘快照或文件系统CNFS快照。
注意 若需要跨集群恢复应用,需要在恢复集群中执行以下步骤。
  1. 应用备份页面单击备份和快照页签。
  2. 在对应备份任务右侧操作列单击制作快照
  3. 生成快照对话框,选中对应可以转换的PVC,对应PVC的转换为存储类列选择对应存储卷类型,然后单击制作快照(对应显示为Snapshot的系统已经创建快照完成,无须再次转换)。
    生成快照
    目前支持NAS(alibabacloud-cnfs-nas)及云盘(alicloud-disk)两种存储卷类型。
    生成快照后,对应PVC的状态会显示为ConvertionCompleted。如下图所示:制作快照

步骤四:恢复应用和数据卷

注意 对于需要备份存储卷的备份任务,在恢复数据前,请确认已完成备份任务的快照制作。
  1. 应用备份页面,单击恢复页签。
  2. 恢复页签,单击创建恢复任务
  3. 创建恢复任务面板配置恢复任务,然后单击确定
    创建恢复任务
    配置项 说明
    名称 恢复任务名称,仅支持小写字母和数字。
    选择备份 选择备份文件。
    重定义命名空间 若需要修改备份数据的命名空间,请单击添加,选择备份数据所属的命名空间,在冒号后设置恢复后数据所属的命名空间。
    说明 恢复时对于已经存在的资源不会覆盖,只会恢复当前集群中不存在的资源。如果想恢复到之前的版本,则需要删除现有资源再进行恢复。
  4. 在提示对话框中单击左下角的确定
  5. 验证相关的有状态应用或无状态应用,存储卷和服务可以正常启动和正常访问。
    1. 在恢复集群管理页左侧导航栏选择工作负载 > 无状态
    2. 在目标应用右侧操作列单击详情
      容器组页签下,确认目标应用的状态为Runnning
    3. 在集群管理页左侧导航栏中,选择存储 > 存储声明
      存储声明页面可查看已恢复的存储声明。
    4. 在集群管理页左侧导航栏中,选择网络 > 服务
    5. 服务页面单击目标的外部端点,确认是否可以访问。