将 Velero 1.9 升级到 Velero 1.10 版支持 FSB 备份

2022-12-13 14:23:22 浏览数 (1)

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 时会略有不同。

  1. 按照此处的说明安装 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

0 人点赞