我们正在尝试拥有一个 k8s 集群的副本。我们已经在 s3 中进行了集群备份,这是由集群内运行的 ark 完成的(作为计划(。我正在尝试手动将数据还原到新群集,我在 vm 中有 tar.gz 文件,但我不知道如何还原它,文档和其他博客都告诉使用ark restore create --from-backup <backup-name>
. 我不确定我必须提供什么作为备份名称,我提取了备份文件并具有 velero 文档中解释的资源目录。我尝试了我能尝试的任何名称。但是得到了An error occurred: backups.ark.heptio.com "<strings that I am trying as backup_name>" not found
. 我是新手,所以请问我是否需要提供更多信息。
我们将 ark 创建的备份存储在 s3 中,该备份配置在 ark 的 yml 文件中。
为了查看在旧集群中进行的备份,我们必须将新集群中的 ark 调度映射到同一个 s3 存储桶,这可以通过在 ark yml 文件中配置调度来完成。然后我们可以使用命令检查自定义资源kubectl get crd
. 我们将获得所有自定义资源,检查方舟,它将是这样的
backups.ark.heptio.com。
然后我们可以看到这个crd中的备份是什么。使用kubectl get backups.ark.heptio.com -n <ark-namespace>
. 它应该显示所有可用的备份。应该会出现备份列表。然后使用还原命令。
ark restore create --from-backup <name of the backup that you want to restore, we got it in the previous step> -n <namespace-where-ark-running>. It should start restoring the backup. You can check the restore status using `ark restore describe --from-backup <name of the backup that you want to restore, we got it in the previous step> -n <namespace-where-ark-running>`.
此外,我们可以检查在集群内运行的 ark pod 的日志,它应该显示正在恢复的内容。