You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

##安装velero

wget https://github.com/vmware-tanzu/velero/releases/download/v1.11.0/velero-v1.9.3-linux-amd64.tar.gz
tar zxvf velero-v1.9.3-linux-amd64.tar.gz
cp velero-v1.9.3-linux-amd64/velero /usr/bin/

创建minio凭证,minio部署参照另一篇文章


cat >credentials-velero <<EOF
[default]
aws_access_key_id = T6uyCVYwgIJe9ZWC7fDQ
ws_secret_access_key = **********************
EOF
#1.9.3
docker pull velero/velero:v1.9.3
docker tag velero/velero:v1.9.3 registry.cn-hangzhou.aliyuncs.com/zhengyu1992/velero:v1.9.3
docker push registry.cn-hangzhou.aliyuncs.com/zhengyu1992/velero:v1.9.3
#
docker pull velero/velero-plugin-for-aws:v1.2.1
docker tag velero/velero-plugin-for-aws:v1.2.1 registry.cn-hangzhou.aliyuncs.com/zhengyu1992/velero-plugin-for-aws:v1.2.1
docker push registry.cn-hangzhou.aliyuncs.com/zhengyu1992/velero-plugin-for-aws:v1.2.1

安装velero

velero install \
    --provider aws \
    --image registry.cn-hangzhou.aliyuncs.com/zhengyu1992/velero:v1.9.3 \
    --plugins registry.cn-hangzhou.aliyuncs.com/zhengyu1992/velero-plugin-for-aws:v1.2.1 \
    --namespace velero \
    --bucket velero \
    --use-volume-snapshots=false \
    --secret-file ./credentials-velero \
	--use-restic \
    --backup-location-config region=minio,s3ForcePathStyle="true",s3Url=http://10.10.21.48:9000 \
    --wait

卸载velero

kubectl delete namespace/velero clusterrolebinding/velero
kubectl delete crds -l component=velero

迁移storageclass,我们的目的是将nfs-storage中的数据迁移到rook-ceph-block

创建一个声明yaml文件

vi change-storage-class-config.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: change-storage-class-config
  namespace: velero
  labels:
    velero.io/plugin-config: ""
    velero.io/change-storage-class: RestoreItemAction
data:
  nfs-storage: rook-ceph-block

kubectl create -f change-storage-class-config.yaml


开始备份

velero backup create mybackup --include-resources pvc,pv --include-namespaces default

查看备份进度

velero backup describe mybackup

查看备份日志

velero backup logs mybackup

这时候到minio控制台可以看到有数据已经写入了

删除原有的pvc,否则恢复的时候会提示冲突

kubectl delete pvc persistence-rabbitmq-cluster-server-0 persistence-rabbitmq-cluster-server-1 persistence-rabbitmq-cluster-server-2

恢复pv数据

velero restore create --from-backup mybackup

这里可以看到rabbitmq-cluster-server的storageclass已经变成了rook-ceph-block

我们尝试去启动pod



  • No labels