可以使用 适用于 vSphere 的 Velero 插件 备份和还原在 主管 上的 TKG 集群中运行的工作负载。

必备条件

要使用 适用于 vSphere 的 Velero 插件 备份和还原 TKG 集群工作负载,必须先在目标集群上安装 适用于 vSphere 的 Velero 插件。请参见在 TKG 集群上安装和配置 适用于 vSphere 的 Velero 插件

备份工作负载

以下是用于创建 Velero 备份的命令示例。
velero backup create <backup name> --include-namespaces=my-namespace

生成所有本地快照且 Kubernetes 元数据(卷快照除外)已上载到对象存储后,Velero 备份将标记为 Completed。此时,异步数据移动任务(即卷快照的上载)仍在后台进行,可能需要一些时间才能完成。通过监控快照自定义资源 (CR),可以检查卷快照的状态。

快照

快照用于备份持久卷。对于每个卷快照,将在与生成了快照的持久卷声明 (PVC) 相同的命名空间中创建快照 CR。

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

还原工作负载

以下是 Velero 还原命令的示例。
velero restore create --from-backup <velero-backup-name>

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

CloneFromSnapshots

要从每个卷快照还原,将在与最初生成快照的 PVC 相同的命名空间中创建一个 CloneFromSnapshot 自定义资源 (CR)。我们可以通过运行以下命令获取 PVC 命名空间中的所有 CloneFromSnapshot。
kubectl -n <pvc namespace> get clonefromsnapshot
.status.phase 字段中将呈现 CloneFromSnapshot CRD 的一些关键阶段:
快照阶段 描述
未完成从快照克隆
InProgress 正在从远程存储库下载 vSphere 卷快照
已完成 已完成从快照克隆
Failed 从快照克隆失败