您可以使用 适用于 vSphere 的 Velero 插件 备份和还原在 vSphere Pod 上运行的工作负载。

概览

可以使用 适用于 vSphere 的 Velero 插件主管 上备份和还原在 vSphere Pod 中运行的工作负载。可以备份和还原在 vSphere Pod 上运行的无状态应用程序和有状态应用程序。对于有状态应用程序,可以使用 适用于 vSphere 的 Velero 插件 生成持久卷 (PV) 的快照。
注: 无法使用独立 Velero 与 Restic 备份和还原 vSphere Pod。必须使用在 主管 上安装的 适用于 vSphere 的 Velero 插件

必备条件

安装并配置 适用于 vSphere 的 Velero 插件 后,才能备份和还原 vSphere Pod。请参见 在 主管 上安装并配置 适用于 vSphere 的 Velero 插件
注: 适用于 vSphere 的 Velero 插件 不会备份和还原 主管 的状态。

备份 vSphere Pod

要备份无状态 vSphere Pod,请运行以下命令:
velero backup create <backup name> --include-namespaces=my-namespace

创建所有本地快照并将 Kubernetes 元数据上载到对象存储后,备份将标记为 Completed。但是,卷快照的备份以异步方式进行,可能仍在后台进行,并且需要一些时间才能完成。

可以通过监控快照和上载自定义资源来检查卷快照的状态。

快照 CRD

对于每个卷快照,将在与生成了快照的 PVC 相同的命名空间中创建快照自定义资源。可以通过运行以下命令获取 PVC 命名空间中的所有快照。
kubectl get -n <pvc namespace> snapshot
status.phase 字段中将呈现快照 CRD 的多个阶段,包括:
省/市/自治区 描述
尚未处理
Snapshotted 已生成本地快照
SnapshotFailed 本地快照失败
上载 正在上载快照
Uploaded 已上载快照
UploadFailed 无法上载快照
Canceling 正在取消快照上载
已取消 已取消快照上载
CleanupAfterUploadFailed 上载快照后清理本地快照失败

上载 CRD

对于要上载到对象存储的每个卷快照,将在与 Velero 相同的命名空间中创建上载 CR。可以通过运行以下命令获取 Velero 命名空间中的所有上载。
kubectl get -n <velero namespace> upload
status.phase 字段中将呈现上载 CRD 的多个阶段,包括:
省/市/自治区 描述
尚未处理
InProgress 正在上载
UploadError 上载失败
CleanupFailed

上载后删除本地快照失败

将重试此操作

Canceling

正在取消上载

如果在快照上载过程中调用了 velero backup delete,则可能出现此问题

已取消 已取消上载
将定期重试 UploadError 上载。此时,它们将返回到 InProgress 阶段。上载成功完成后,其记录将保留一段时间,并最终被移除。

还原 vSphere Pod

要还原使用 适用于 vSphere 的 Velero 插件 备份的 vSphere Pod 工作负载,请完成以下步骤。
  1. 为要还原的工作负载创建 vSphere 命名空间
  2. 为命名空间配置存储策略。
  3. 运行以下 Velero 命令以还原工作负载:
    velero restore create --from-backup backup-name

在卷快照和其他 Kubernetes 元数据成功还原到当前集群后,Velero 还原将标记为 Completed。此时,与此还原相关的所有 vSphere 插件任务也已完成。与 Velero 备份一样,后台没有进行任何异步数据移动任务。

在 Velero 还原进入 Completed 状态之前,可按下文所述,通过监控 CloneFromSnapshot/下载 CR 以检查卷还原状态。

CloneFromSnapshots CRD

要从每个卷快照还原,将在与最初生成快照的 PVC 相同的命名空间中创建 CloneFromSnapshot CR。我们可以通过运行以下命令获取 PVC 命名空间中的所有 CloneFromSnapshot。
kubectl -n <pvc namespace> get clonefromsnapshot
status.phase 字段中将呈现 CloneFromSnapshot CRD 的多个阶段,包括:
省/市/自治区 描述
未完成从快照克隆
已完成 已完成从快照克隆
Failed 从快照克隆失败
下载 CRD
每次还原要从对象存储下载的卷快照时,将在与 Velero 相同的命名空间中创建一个下载 CR。可以通过运行以下命令获取 Velero 命名空间中的所有下载。
kubectl -n <velero namespace> get download
status.phase 字段中将呈现下载 CRD 的多个阶段,包括:
状态 描述
尚未处理
InProgress 正在下载
已完成 下载已完成
重试

重试下载。

下载备份数据期间出现任何故障时,将重试下载

Failed 下载失败