k8s备份工具velero

官方文档:https://velero.io/docs/v1.5/index.html

功能:
备份群集并在丢失的情况下进行还原。
将群集资源迁移到其他群集。
将生产集群复制到开发和测试集群。

环境信息:
k8s v1.16.15
minio:192.168.86.6:9000
备份bucket:k8s-backup

一、安装和卸载
1、安装velero客户端

wget https://github.com/vmware-tanzu/velero/releases/download/v1.5.3/velero-v1.5.3-linux-amd64.tar.gz
tar -xf velero-v1.5.3-linux-amd64.tar.gz
cp velero-v1.5.3-linux-amd64/velero /usr/local/bin/

2、基于minio备份
1>准备minio认证文件

cat > credentials-velero <<eof
[default]
aws_access_key_id = admin
aws_secret_access_key = admin123456
eof

3、安装velero服务端

velero install \
   --provider aws \
   --bucket k8s-backup \
   --secret-file ./credentials-velero \
   --use-volume-snapshots=false \
   --plugins velero/velero-plugin-for-aws:v1.0.0 \
   --backup-location-config region=minio,s3ForcePathStyle="true",s3Url=http://192.168.86.6:9000

4、卸载velero

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

二、备份和恢复
1、备份deploy这个namespace后删除namespace

velero backup create test-backup --include-namespaces deploy
velero get backups
velero backup describe test-backup
kubectl delete ns deploy

2、恢复deploy这个namespace

velero restore create --from-backup test-backup

3、备份整个集群所有namespace、并恢复

velero backup create k8s-all-ns
kubectl delete ns deploy
velero restore create --from-backup k8s-all-ns

4、带pv的pod备份、恢复
在这里插入图片描述
场景1、只备份服务不备份pv的数据

在这里插入代码片

5、集群迁移

1>新集群内安装velero,配置需要和原集群内安装的velero保持一致
2>在新集群内查看获取到的备份信息:velero get backups
3>在新集群内执行恢复命令:velero restore create --from-backup k8s-all-ns

6、基于阿里云oss备份
7、定时备份策略(针对不同namespace备份和对整个集群备份,可以配合crontab使用)

#!/bin/bash
source ~/.bashrc
DATE=`date '+%Y%m%d-%H%M%S'`
for i in `kubectl get ns | awk '{print $1}'| grep -E -v 'NAME|velero'`
do
        file_name="$DATE-$i"
        velero create backup "k8s-$file_name" --include-namespaces $i
done
velero create backup k8s-$DATE-backup
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值