Velero 1.9 升级到 Velero 1.10 版支持 FSB 备份
前提条件
安装 Velero v1.9.x
在升级之前,请检查 Velero兼容性矩阵,以确保你的 Kubernetes 版本被新版本的 Velero 所支持。
更新说明
Caution: 从 Velero v1.10 开始,除了使用 restic 进行文件系统级备份和恢复外,还集成了 kopia,因此从低于 v1.10.0 的版本升级到 v1.10 时会略有不同。
- 按照此处的说明安装 Velero v1.10 命令行界面
通过运行以下命令验证是否已正确安装它:
You should see the following output:
代码语言:javascript复制$ velero version --client-only
Client:
Version: v1.10.0
Git commit: 367f563072659f0bcd809bc33507fd75cd722344
2.更新 Velero 自定义资源定义(CRD):
$ velero install --crds-only --dry-run -o yaml | kubectl apply -f -
注意:由于 velero v1.10.0 在安装过程中仅支持 v1 CRD,因此,v1.10.0 仅适用于 kubernetes version >= v1.16 版本的
3.更新 Velero deployment 使用的 container image 和 objects fields,并选择性地更新 restic daemon set:
代码语言:javascript复制//uploader_type value could be restic or kopia
$ kubectl get deploy -n velero -ojson
| sed "s#"image": "velero/velero:v[0-9]*.[0-9]*.[0-9]"#"image": "velero/velero:v1.10.0"#g"
| sed "s#"server",#"server","--uploader-type=$uploader_type",#g"
| sed "s#default-volumes-to-restic#default-volumes-to-fs-backup#g"
| sed "s#default-restic-prune-frequency#default-repo-maintain-frequency#g"
| sed "s#restic-timeout#fs-backup-timeout#g"
| kubectl apply -f -
代码语言:javascript复制//optional, if using the restic daemon set
$ echo $(kubectl get ds -n velero restic -ojson)
| sed "s#"image": "velero/velero:v[0-9]*.[0-9]*.[0-9]"#"image": "velero/velero:v1.10.0"#g"
| sed "s#"name": "restic"#"name": "node-agent"#g"
| sed "s#[ "restic",#[ "node-agent",#g"
| kubectl apply -f -
kubectl delete ds -n velero restic --force --grace-period 0
4.通过运行以下命令确认部署已启动并使用正确的版本运行:
You should see the following output:
代码语言:javascript复制$ velero version
Client:
Version: v1.10.0
Git commit: 367f563072659f0bcd809bc33507fd75cd722344
Server:
Version: v1.10.0
Note
如果从 v1.9.x 升级,集群中仍有一些资源剩余,在 v1.10.x 中从未使用过,也可以通过 kubectl 删除:
代码语言:javascript复制- resticrepository CRD and related CRs
- velero-restic-credentials secret in velero install namespace
$ kubectl get crd | grep velero
backuprepositories.velero.io 2022-12-07T09:31:17Z
backups.velero.io 2022-12-07T09:31:17Z
backupstoragelocations.velero.io 2022-12-07T09:31:17Z
deletebackuprequests.velero.io 2022-12-07T09:31:17Z
downloadrequests.velero.io 2022-12-07T09:31:17Z
podvolumebackups.velero.io 2022-12-07T09:31:17Z
podvolumerestores.velero.io 2022-12-07T09:31:17Z
restores.velero.io 2022-12-07T09:31:17Z
schedules.velero.io 2022-12-07T09:31:17Z
serverstatusrequests.velero.io 2022-12-07T09:31:17Z
volumesnapshotlocations.velero.io 2022-12-07T09:31:17Z