文档简介:
前提条件
迁移限制
迁移步骤
配置对象存储
下载 velero
wget https://github.com/vmware-tanzu/velero/releases/download/v1.8.1/velero-v1.8.1-linux-amd64.tar.gz
tar -xvf velero-v1.8.1-linux-amd64.tar.gz
cp velero-v1.8.1-linux-amd64/velero /usr/bin/
在集群 A 和集群 B 中安装 velero
velero client config set features=EnableCSI
velero install --provider aws \--plugins velero/velero-plugin-for-aws:v1.1.0,velero/velero-plugin-for-csi:v0.2.0 \--features=EnableCSI \--features=EnableAPIGroupVersions \--bucket <BucketName> \--secret-file ./credentials-velero \--use-volume-snapshots=false \--backup-location-config region=ap-guangzhou,
s3ForcePathStyle="true",s3Url=https://cos.ap-guangzhou.myqcloud.com
./velero install --provider aws --use-volume-snapshots=false --bucket gtest-1251707795
--plugins velero/velero-plugin-for-aws:v1.1.0 --secret-file ./credentials-velero
--backup-location-config region=ap-guangzhou,s3ForcePathStyle="true",
s3Url=https://cos.ap-guangzhou.myqcloud.com
安装参数
|
参数说明
|
--plugins
|
使用 AWS S3 兼容 API 插件 “velero-plugin-for-aws”;使用 CSI 插件 velero-plugin-for-csi 对 csi-pv 进行备份,建议开启。
|
--features
|
启用可选功能:启用 API 组版本功能 该功能用于兼容不同 API 组版本,建议开启;启用 CSI 快照功能 该功能用于备份 CSI 支持的 PVC,建议开启。
|
--use-restic
|
Velero 支持使用免费开源备份工具 Restic 备份和还原 Kubernetes 存储卷数据 (不支持 hostPath 卷,详情请参见 Restic 限制),该集成是 Velero 备份功能的补充,在迁移 TKE Serverless 集群的场景下,开启该参数会导致备份失败。
|
--use-volume-snapshots=false
|
关闭默认存储卷快照备份
|
velero backup-location getNAME PROVIDER BUCKET/PREFIX PHASE LAST VALIDATED
ACCESS MODE DEFAULT
default aws <BucketName> Available 2022-03-24 21:00:05 +0800 CST ReadWrite true
(可选) 在集群 A 和集群 B 中安装 VolumeSnapshotClass 对象
apiVersion: snapshot.storage.k8s.io/v1beta1kind: VolumeSnapshotClassmetadata:labels:velero.io/csi-volumesnapshot-class: "true"name: cbs-snapclassdriver: com.tencent.cloud.csi.cbsdeletionPolicy: Delete
$ kubectl get volumesnapshotclassNAME DRIVER DELETIONPOLICY AGEcbs-snapclass com.tencent.cloud.csi.cbs Delete 17m
(可选) 创建集群 A 示例资源
apiVersion: v1kind: PersistentVolumeClaimmetadata:annotations:volume.beta.kubernetes.io/storage-provisioner: com.tencent.cloud.csi.cbsname: miniospec:accessModes:- ReadWriteOnceresources:requests:storage: 10GistorageClassName: cbs-csivolumeMode: Filesystem
2. 使用 Helm 工具,创建一个引用上述 pvc 的 MinIO 测试服务,MinIO 安装方式请参见 MinIO 安装。
在此示例中,已经为 MinIO 服务绑定了负载均衡器,可以在浏览器中使用公网地址访问管理页面。


备份与还原


4. 至此已完成了 TKE 集群与 TKE Serverless 集群间资源的迁移。 迁移操作完成后,执行以下命令,
将集群 A 和 集群 B 的备份存储位置恢复为读写模式,以便在下次备份任务可以正常备份。示例如下:
kubectl patch backupstoragelocation default --namespace velero \--type merge \--patch '{"spec":{"accessMode":"ReadWrite"}}'