1、安装velero
wget https://github.com/vmware-tanzu/velero/releases/download/v1.17.0/velero-v1.17.0-linux-amd64.tar.gz
tar -xzf velero-v1.17.0-linux-amd64.tar.gz
cd velero-v1.17.0-linux-amd64
cp velero /usr/local/sbin/
echo 'source <(velero compk8s集群中部署veleroletion bash)' >> /etc/profile && source /etc/profile
2、创建minio密码文件
cat > credentials-velero <<EOF
[default]
aws_access_key_id = admin # 用户
aws_secret_access_key = xxx # 密码
EOF
3、k8s集群中部署velero
velero install \
--provider aws \
--image hub.wodcloud.com/wod/velero:v1.15.2-amd64 \
--plugins registry.cn-beijing.aliyuncs.com/xwk123/velero-plugin-for-aws:v1.6.0 \
--bucket velero \ # velero桶提前创建好,设置为public
--secret-file ./credentials-velero \ # 指定密码文件
--use-volume-snapshots=false \
--backup-location-config region=minio,s3ForcePathStyle="true",s3Url=http://cache.wodcloud.local \ # s3Url后放你的minio地址
--use-node-agent \
--wait跳过证书
velero install \
--provider aws \
--image hub.wodcloud.com/wod/velero:v1.15.2-amd64 \
--plugins registry.cn-beijing.aliyuncs.com/xwk123/velero-plugin-for-aws:v1.6.0 \
--bucket velero \
--secret-file ./credentials-velero \
--use-volume-snapshots=false \
--backup-location-config region=minio,s3ForcePathStyle="true",s3Url=https://cache.wodcloud.local,insecureSkipTLSVerify="true" \
--use-node-agent \
--wait选项说明
**选项说明:**
- `--kubeconfig`(可选):指定`kubeconfig`认证文件,默认使用`.kube/config`;
- `--provider`:定义插件提供方;
- `--image`:定义运行velero的镜像,默认与velero客户端一致;
- `--plugins`:指定使用aws s3兼容的插件镜像;
- `--bucket`:指定对象存储Bucket桶名称;
- `--secret-file`:指定对象存储认证文件;
- `--use-node-agent`:创建Velero Node Agent守护进程,托管FSB模块;
- `--use-volume-snapshots`:是否启使用快照;
- `--namespace`:指定部署的namespace名称,默认为velero;
- `--backup-location-config`:指定对象存储地址信息;
4、开始备份
备份整个集群
velero backup create k8s-backup --include-namespaces '*' --wait # k8s-backup是你的备份名,--include-namespaces后填需要备份的命名空间,--wait备份完后再退出
velero backup create k8s-backup --include-namespaces '*' --wait --default-volumes-to-fs-backup 将pvc也一起备份了仅备份 Deployment 资源
velero backup create k8s-backup --include-namespaces kube-system --include-resources deployment删除备份
velero backup delete k8s-backup查看备份是否成功,去看容器日志也行
velero backup describe k8s-backup查看创建的备份
velero backup get
velero backup describe k8s-backup
velero backup describe k8s-backup --details使用备份恢复
velero restore create --from-backup k8s-backup定时备份,备份完后可以使用velero backup get查看schedule备份产生的任务,--tt设置过期时间
velero schedule create daily-k8s-backup --schedule="0 2 * * *" --ttl 24h --include-namespaces '*'
velero schedule set daily-k8s-backup --schedule="0 3 * * *" --ttl 24h --include-namespaces '*'