跳到主要内容

准备演示应用

后续教程需要一个可备份、可恢复、可切换的业务对象。建议使用独立命名空间、明确标签和一个带 PVC 的示例应用,这样可以同时验证资源恢复和数据恢复。

推荐命名

本教程使用以下示例值,你可以按环境替换:

项目示例值
源集群prod-a
目标集群prod-b
命名空间demo-bookinfo
应用标签app=bookinfo
备份仓库minio-dr
自动备份策略daily-backup
数据同步策略datasync-5m
资源同步策略resourcesync-5m

创建命名空间和工作负载

在源集群创建演示命名空间:

kubectl --context prod-a create namespace demo-bookinfo
kubectl --context prod-a label namespace demo-bookinfo app=bookinfo

部署一个带 PVC 的应用,至少包含:

  • Deployment 或 StatefulSet。
  • Service。
  • ConfigMap 或 Secret。
  • PVC。
  • 可选 Ingress。

如果已有业务应用,也可以直接选择业务命名空间,但演练环境建议先使用低风险示例应用。

写入验证数据

备份前写入一条容易识别的数据,例如文件、数据库记录或测试接口返回值:

kubectl --context prod-a -n demo-bookinfo exec deploy/<app> -- sh -c \
'date > /data/tutorial-checkpoint.txt'

恢复或切换后,通过同一路径检查数据是否存在。

给资源加标签

如果后续需要按标签控制备份范围,提前给核心资源打标签:

kubectl --context prod-a -n demo-bookinfo label deploy,svc,cm,pvc --all app=bookinfo

准备目标集群

目标集群需要:

  • 存在匹配的 StorageClass,或已准备 StorageClass 映射。
  • 存在必要的 CRD、镜像拉取 Secret、IngressClass。
  • 能访问同一个对象存储仓库。
  • 如果要做容灾切换,目标集群网络和镜像仓库已准备好。

完成这些准备后,可以进入备份恢复快速体验或容灾快速体验。