k8s备份恢复工具--velero

k8s的备份和恢复工具

主要包括服务端和客户端两部分,服务端运行在k8s集群中,客户端运行在本地的命令行,本地需要配置好k8s的kubeconfig和kubectl客户端工具

需要对象存储当做中间备份或存储的工具(S3,minio,OSS等)

工作原理即是将k8s资源备份到对象存储当中,并可以从对象存储中拉取备份数据来恢复集群资源对象

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

下面操作的机器是配置好k8s的kubectl和kubeconfig的

下载velero客户端

bash 复制代码
wget https://github.com/vmware-tanzu/velero/releases/download/v1.13.1/velero-v1.13.1-linux-amd64.tar.gz
tar -zxvf velero-v1.13.1-linux-amd64.tar.gz
cp velero-v1.13.1-linux-amd64/velero /usr/local/bin

搭建minio代替S3文件存储

https://min.io/docs/minio/linux/index.html

bash 复制代码
wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20240330094156.0.0-1.x86_64.rpm -O minio.rpm
rpm -ivh minio.rpm
nohup minio server ~/minio --console-address :9001 &

访问http://IP:9000,minioadmin/minioadmin

部署velero服务端

首先需要将minio的验证信息写入文件中

bash 复制代码
cat access-minio
  [default]
  aws_access_key_id = minioadmin
  aws_secret_access_key = minioadmin

然后写部署velero服务端的脚本

bash 复制代码
vim velero.sh
velero install --provider aws --plugins velero/velero-plugin-for-aws:v1.9.0 --bucket velero --secret-file ./access-minio --kubeconfig=/root/.kube/test-config --use-volume-snapshots=false --backup-location-config region=minio,s3ForcePathStyle="true",s3Url=http://10.8.0.11:9000

运行脚本

bash 复制代码
bash velero.sh

运行之后会在k8s集群中创建出velero的namespace和velero的服务端

执行命令进行备份

bash 复制代码
velero backup create velero-backup --namespace=velero
#查看备份
velero get backup

备份完成之后即可在minio中看到备份文件的生成

恢复

bash 复制代码
velero restore create --from-backup=velero --kubeconfig=
相关推荐
SelectDB8 小时前
开源替代怎么选:能力对照、三条部署路径与四类边界速查
数据库·云原生·开源
SelectDB8 小时前
自建与托管怎么选:开源自建、私有化与云上托管三条路径速查
数据库·云原生·开源
fengkai45458 小时前
3、Kubernetes的Namespace&Contexts&Pod&YAML格式
运维·容器·kubernetes·k8s·namespace·yaml·pod
SatanII9 小时前
K8s 存储与配置管理|Volume、ConfigMap、Secret 核心笔记
笔记·rpc·kubernetes
容器魔方10 小时前
Volcano v1.16 发布:新增 NamespaceQueue 与 fairshare,拓展 HyperNode 生态
人工智能·云原生·容器·华为云·云计算
秦jh_11 小时前
【Docker】镜像、卷原理
运维·docker·容器
小马同学-11 小时前
K8s 命名空间与上下文:Namespace 资源隔离与多集群切换实战
云原生·容器·kubernetes
阿里云云原生11 小时前
Agent 自进化的数据底座:阿里云 SLS Session Store
云原生
I'mChloe11 小时前
飞牛NAS部署flatnotes实战:Docker、8080端口、Markdown笔记与固定地址访问
笔记·docker·容器
川石课堂软件测试12 小时前
涨薪技术|0到1学会性能测试第9课-HTTP响应统计
数据库·功能测试·网络协议·http·kubernetes·单元测试·测试用例