Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

##安装velero

git地址:

https://github.com/vmware-tanzu/velero

Code Block
#https://github.com/vmware-tanzu/velero/releases/tag/v1.9.3
wget https://github.com/vmware-tanzu/velero/releases/download/v1.119.03/velero-v1.119.03-linux-amd64.tar.gz
tar zxvf velero-v1.119.03-linux-amd64.tar.gz
cp velero-v1.119.03-linux-amd64/velero /usr/bin/

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

Image Added

创建minio凭证文件

Code Block
cat >credentials-velero <<EOF
[default]
aws_access_key_id = adminT6uyCVYwgIJe9ZWC7fDQ
aws_secret_access_key = Uenpay@2019
EOF
##提前准备镜像
docker pull **********************
EOF

安装velero

因为有些环境拉取不到国外的镜像,所以我拉到本地打了tag上传到了阿里云,没有做任何修改,可放心使用

官方的参数像是--image velero/velero:v1.

...

9.3  --plugins velero/velero-plugin-for-aws:v1.

...

2.1 

Code Block
velero install \
    --provider aws \
    --image registry.cn-hangzhou.aliyuncs.com/zhengyu1992/velero:v1.11.0

安装velero

Code Block
velero install9.3 \
    --provider aws \
    --plugins registry.cn-hangzhou.aliyuncs.com/zhengyu1992/velero-plugin-for-aws:v1.62.01 \
    --namespace velero \
    --bucket velerobakvelero \
    --use-volume-snapshots=false \
    --secret-file ./credentials-velero \
    --default-volumes-to-restic \
    --use-restic \
    --backup-location-config region=minio,s3ForcePathStyle="true",s3Url=http://10.10.21.48:9000

卸载velero

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

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

...

minio-headless.mid \
    --wait

卸载velero

Code Block
velero uninstall

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

创建一个声明yaml文件

Code Block
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 zadig-20230717 --include-namespaces zadig

查看备份进度

velero backup describe zadig-20230717

查看备份日志

velero backup logs zadig-20230717

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

Image Added


#仅备份pv和pvc的参数(适用于仅更换存储类不迁移集群的情况)

velero backup create test--include-resources pvc,pv --include-namespaces zadig

velero restore create --from-backup <backup-name> --namespace-mappings <source-namespace>:<target-namespace>