商城
简体中文
  • 云原生容器产品
    • QKCP 企业级容器平台
    • KSV 虚拟化管理平台
    • KubeSphere 混合架构容器云
    • QKCP 容器一体机
    • 数据库(即将上线)
  • 云原生服务
    • 云原生备份容灾服务
  • 公有云容器服务
    • KubeSphere on AWS
    • KubeSphere on QingCloud
    • KubeSphere on Azure
    • KubeSphere on DigitalOcean
  • 技术支持服务
    • 全方位支持工单
    • 平台 Logo 定制

创建备份计划

介绍如何在 KubeSphere Cloud 云原生应用服务平台上创建备份计划。

本节介绍如何在 KubeSphere Cloud 云原生应用服务平台上创建备份计划。

前提条件

创建备份计划

  1. 使用您的账户登录 KubeSphere Cloud 云原生应用服务平台。

  2. 将光标移动到页面顶栏右侧的用户名区域,在弹出菜单中点击管理控制台

  3. 在控制台页面的左侧导航栏点击备份容灾服务,然后点击备份计划页签下的创建备份计划

    common:NOTE

    您也可以在服务概览页面点击备份容灾服务下的创建备份

  4. 在弹出的创建备份计划页面中,参考下表设置参数。

    参数是否必填描述
    计划名称用户自定义的备份计划名称,只能包含小写字母、数字和连字符(-),必须以小写字母或数字开头和结尾,最长 63 个字符。
    对象存储仓库在下拉列表中选择已添加的对象存储仓库,作为备份计划的存储仓库。
    若未添加对象存储仓库,请点击右侧的添加仓库,在弹出对话框中添加仓库。添加完成后,点击 ,然后在下拉列表中选择已添加的对象存储仓库。
    源集群在下拉列表中选择已导入的 Kubernetes 集群,作为备份计划的源集群。
    若下拉列表中的集群提示备份容灾组件安装中,请确认您集群中的 qiming-backend 命名空间下的容器组均已启动并正常运行。
    若未导入集群,请点击右侧的导入集群,在弹出对话框中导入集群。导入完成后,点击 ,然后在下拉列表中选择已导入的集群。
    源命名空间在下拉列表中选择源集群中的命名空间,作为备份计划的源命名空间。
    计划描述用户自定义的备份计划描述。
    备份类型此备份计划对应的备份策略,包括:
    • 立即备份:创建备份计划后立即执行一次备份任务。
    • 定时备份:按照指定频率进行备份,可选系统时区包括:UTC当前时区,可选频率包括:小时
    留存时长(天)备份计划的留存时长,超过指定留存时长的备份计划以及此备份计划上传至对象存储仓库中的数据都会被删除。最低为 1 天。
    存储卷勾选备份持久卷来指定是否备份持久卷中的数据。持久卷的备份方式包括:
    • 直接复制:直接复制持久卷中的数据用于备份。
    • 使用 CSI 快照:使用 CSI 快照来备份持久卷。若您选择此方式,请确保您的 Kubernetes 集群中有相应的存储卷快照类型(Volume Snapshot Class)存在。有关如何创建存储卷快照类型的详细信息,请参阅创建存储卷快照类型
    • 导出快照:为了减少数据丢失的风险及保证业务快速恢复,推荐勾选该选项。勾选后,服务将在执行备份任务的同时导出 CSI 快照。快照保存天数和备份计划的留存时长相同。

    下表阐述了三种存储卷备份方式的差异,请根据您的实际情况选择最适合的备份方式。

    备份方式应用场景大规模数据备份速度备份一致性
    直接复制存储系统不支持 CSI 快照部分不一致
    使用 CSI 快照同一套云环境、集群及存储系统高度一致
    使用 CSI 快照 + 导出快照跨云、跨集群、跨存储系统高度一致
  5. 参数设置完成后,点击确认。创建成功的备份计划会显示在列表中。

    common:NOTE

    • 根据您选择的备份类型和频率不同,计划创建后使用的应用保护数也不同。例如,如果您选择定时备份,并设置分别在每日 00 和 12 时 00 分执行任务,那么每日将使用 2 个应用保护数。

    • 若需要查看备份计划的应用保护数使用记录,选择服务概览,在右侧的当前订阅卡片中,点击使用记录

创建存储卷快照类型

如果您在创建备份计划时,选择使用 CSI 快照的方式来备份持久卷,则需要确保您的 Kubernetes 集群中有相应的存储卷快照类型(Volume Snapshot Class)存在。请参考以下步骤查看和创建存储卷快照类型。

查看存储卷快照类型

  1. 执行以下命令,查看需要备份的命名空间下的持久卷声明(PVC)。您可以在回显信息中查看持久卷声明所对应的存储类型(Storage Class)。

    $ kubectl get pvc -n <命名空间名称> NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE busybox-test-a Bound pvc-5f0e74b8-d8d0-4c68-a3f8-5cd125a4d45a 10Gi RWO csi-hostpath-a 24h
  2. 执行以下命令,查看存储类型的信息。您可以在回显信息中查看存储类型所对应的 PROVISIONER

    $ kubectl get sc csi-hostpath-a NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE csi-hostpath-a hostpath.csi.k8s.io-a Delete Immediate true 24h

    common:NOTE

    请确保将 csi-hostpath-a 替换为您集群中实际存储类型的名称。

  3. 执行以下命令,查看存储卷快照类型。若您的集群中已经有存储卷快照类型存在,请先确保从上述步骤中获取的 PROVISIONER 支持您集群中的存储卷快照类型,才能对 PVC 做快照。若您的集群中不存在存储卷快照类型,执行以下步骤进行创建。

    $ kubectl get volumesnapshotclass --show-labels No resources found in tt namespace.

创建存储卷快照类型

  1. 使用以下内容创建一个 YAML 文件,例如 volumesnapshotclass.yaml

    apiVersion: snapshot.storage.k8s.io/v1 # 根据您集群的 snapshot CRD 版本进行设置,KubeSphere Cloud 备份容灾 SAAS 服务支持 v1 和 v1beta1。 deletionPolicy: Retain # 必须为 Retain。 driver: hostpath.csi.k8s.io-a # 与您集群存储类型的 PROVISIONER 值相同。 kind: VolumeSnapshotClass metadata: name: csi-hostpath-sc # 任何 Kubernetes 认可的值均可。 labels: velero.io/csi-volumesnapshot-class: 'true' # 必须含有此标签。 parameters: # 可选,根据存储系统的具体情况进行设置。 ...
  2. 执行以下命令创建存储卷快照类型。

    kubectl apply -f volumesnapshotclass.yaml
  3. 执行以下命令再次查看存储卷快照类型。请确保回显信息中 DRIVER 的值与存储类型所对应的 PROVISIONER 的值相同。

    $ kubectl get volumesnapshotclass --show-labels NAME DRIVER DELETIONPOLICY AGE LABELS csi-hostpath-sc hostpath.csi.k8s.io-a Retain 9s velero.io/csi-volumesnapshot-class=true

注意事项

您在使用存储卷快照类型时,需要注意以下事项:

  • 若需要备份的命名空间下既有通过 CSI 创建的 PVC,又有非 CSI 创建的 PVC,请选择直接复制的方式进行备份。

  • 若需要备份的命名空间下有多个 CSI driver 创建的 PVC,请确保按照上述步骤为每个 CSI driver 创建对应的存储卷快照类型。

  • 若同一个 CSI driver 存在多个符合要求的存储卷快照类型,则会随机选择一个存储卷快照类型进行备份。

  • 创建恢复计划时,请确保目标集群能够访问已备份的存储卷快照。