问题:
在使用Velero配合Minio进行k8s的资源备份时,由于初次使用不知道把restic目录误删了。
正常使用命令进行文件备份时(不使用快照):
velero backup create test1 --include-namespaces=default --default-volumes-to-fs-backup
Minio正常生成的目录应该是有一个backup和一个restic,如下:
但其实restic只有第一次任务创建时会自动生成,以后都不会生成,不可以删掉,只有backups每次创建会根据备份任务任务的内容自动生成可以。
因此我这时误删了restic目录(把backup和restic一起删除了),导致我再创建新的备份任务时,不会生成restic目录,restic备份持久卷失败:
再次尝试备份任务
velero backup create test1 --include-namespaces=default --default-volumes-to-fs-backup
发现只生成backup目录了
查看详细
velero backup describe test1 --details
发现restic备份持久卷失败,显示错误大致就是restic相关的一堆东西获取不到( 这时候意识到误删了)
解决:
查看velero空间下自定义的crd 和cr
kubectl get crds |grep velero
发现在CRD(类型)为backuprepositories中存在 restic存储库的CR
kubectl get backuprepositories.velero.io -n velero
查询资料发现,只需要删除这个代表 Restic 存储库的 CR。触发新备份任务时将重新自动创建 CR
因此将该CR删除
kubectl delete backuprepositories.velero.io default-default-restic-zklr6 -n velero
重新尝试创建备份任务
velero backup create test1 --include-namespaces=default --default-volumes-to-fs-backup
发现restic成功备份持久卷,minio上restic目录也回来了(以后不能随便删了)
问题解决!