一个伪linux粉丝的blog

  1. 首页
  2. unix/linux
  3. 正文

velero

1月 28, 2023 122点热度 0人点赞 0条评论

缘起

春节前最后 2 个工作日,折腾的是 etcd 备份至 s3. 一套方案是 velero,一套是 etcd-backup-restore

前者 velero 来自 vmware-tanzu 开源项目,后者etcd-backup-restore 来自 gardener 是德国 SAP 开源的一个项目,这么说都是大厂的产品,折腾结果不理想,或许是我 readme 看的不够仔细,感觉备份至s3后,恢复有瑕疵,今天先写 velero ,下次补充etcd-backup-restore 。

 

安装

1
2
3
4
5
6
7
8
9
10
11
wget -c https://github.com/vmware-tanzu/velero/releases/download/v1.10.1-rc.1/velero-v1.10.1-rc.1-linux-amd64.tar.gz
tar zxvf velero-v1.10.1-rc.1-linux-amd64.tar.gz
mv velero-v1.10.1-rc.1-linux-amd64/velero /usr/local/bin
vi credentials-velero
[default]
aws_access_key_id = AKIAIOSFODNN7EXAMPLE
aws_secret_access_key = wJalrXUtnFEMIK7MDENGbPxRfiCYEXAMPLEKEY
 
提前 下载aws插件
docker pull velero/velero-plugin-for-aws:v1.6.1-rc1   (2023-01-19发布)
docker pull velero/velero-plugin-for-aws:latest ( 2个月前发布,类似1.6.0 或 1.5.3)

master节点上安装velero,会自动检测kubeconfig文件,然后创建资源

1
2
3
4
5
6
7
8
9
10
11
12
velero install \
>     --image velero/velero:v1.10.1-rc.1  \
>     --plugins velero/velero-plugin-for-aws:v1.6.1-rc1  \
>     --provider aws  \
>     --bucket velero   \
>     --namespace velero  \
>     --secret-file ./credentials-velero  \
>     --use-volume-snapshots=false \
>     --uploader-type restic   \
>     --default-volumes-to-fs-backup  \
>     --use-node-agent  \
>     --backup-location-config region=minio,s3ForcePathStyle="true",s3Url=http://10.23.13.107:9000/

过程日志截图,各种资源创建完成 CustomResourceDefinition

CustomResourceDefinition/serverstatusrequests.velero.io: created

最后一句提示 Velero is installed! ⛵ Use 'kubectl logs deployment/velero -n velero' to view the status. 表示安装成功了

题外话一,velero 版本 差异,先上图。

velero 1.9 和 velero 1.10 的版本命令差异

1.9 --default-volumes-to-restic
1.10.1 --default-volumes-to-fs-backup ,--default-volumes-to-fs-backup 还必须带上 --use-node-agent
否则报错 An error occurred: --use-node-agent is required when using --default-volumes-to-fs-backup
截止2023-01-20 最新版本
https://github.com/vmware-tanzu/velero/releases/download/v1.10.1-rc.1/velero-v1.10.1-rc.1-linux-amd64.tar.gz
或镜像 velero/velero:v1.10.1-rc.1

备份测试

指定应用备份

秒返回
1
2
3
velero backup create d2048 --selector app=dao-2048
Backup request "d2048" submitted successfully.
Run velero backup describe d2048 or velero backup logs d2048 for more details.

minio 的 s3 上看下文件是否都在了

指定命名空间备份

  • 特意建了一个d2048命名空间,里面应用2048,没其他东西,秒备份
velero backup create d2048ns --include-namespaces d2048 --wait
  • 备份monitoring 命名空间,时间能接受
velero backup create monitoring --include-namespaces monitoring --wait
  • 备份default命名空间备份,卡顿很久很久,后来发现有近20G

恢复测试

对应前面的2种备份方式,做恢复测试,直接干掉 2048 应用,发现没法恢复,虽然提示了成功。
1
2
3
velero restore create --from-backup d2048
Restore request "d2048-20230120142506" submitted successfully.
Run velero restore describe d2048-20230120142506 or velero restore logs d2048-20230120142506 for more details.

通过完整命名空间的方式备份恢复,可行

1
2
恢复
velero restore create --from-backup d2048ns

查看当前备份
1
velero backup get

 上面这个2048 是无状态应用,有空再折腾有状态应用,说是加上hook即可。

不足

备份和恢复并非我想要的结果,勉强能用而已,大概方式不正确吧。 我希望的是备份应用,恢复应用,而不是备份命名空间才能恢复应用。

 

相关文章:

  1. LAMP 系统性能调优,第 2 部分: 优化 Apache 和 PHP
  2. 普通usb ZC0301 WebCam成功设置为Web Cam Server
  3. plowshare -- command-line application to download files for file-sharing websites
  4. Moving WordPress blog to a new server
标签: velero
最后更新:1月 28, 2023

wanjie

这个人很懒,什么都没留下

点赞
< 上一篇

文章评论

取消回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据。

归档
分类
  • network / 324篇
  • Uncategorized / 116篇
  • unix/linux / 114篇
  • 业界资讯 / 38篇
  • 公司杂事 / 11篇
  • 数码影像 / 12篇
  • 美剧 / 3篇
  • 美图共赏 / 20篇
  • 英语学习 / 3篇
标签聚合
刷机 ldap kernel 网通 Linux Google Voice gitlab d90 dreamhost VPS 中国电信 网站运营 brew Ubuntu iMac 邮件归档 jira Google Adwords Opera Mini Google Nginx 虚拟主机 泰国 nexus dreamhost空间 debian Android wget k8s docker

COPYRIGHT © 2008-2022 wanjie.info. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang