Skip to content

2.2

原理

Velero 的基本原理就是将 Kubernetes 集群资源对象数据备份到对象存储中,并能从对象存储中拉取备份数据来恢复集群资源对象数据。不同于 etcd 备份——将集群的全部资源备份起来——Velero 是对 Kubernetes 集群内资源对象级别进行备份,可以通过对 Type、Namespace、Label 等对象进行分类备份或者恢复。Velero 的操作(backup, scheduled backup, restore)都是 CRD 自定义资源,存储 etcd 中。 Velero 的整体模块架构如下图 1,首先,客户端是一个简单的交互客户端 Velero-cli,封装了各种命令参数,可以执行安装、配置、备份、恢复等操作。服务端则可以类比成一个典型的 kubebuild 的 operator,首先是不同的 CR,也就是 API。中间 Controller 层需要用到一些相对比较独立的服务时,都会通过插件系统来对接到内部或者外部的插件服务。底层的数据拷贝层是对接 Restic。其它都是外部的插件实现,velero.io/plugins 就代表内部的插件实现,由 Velero 或者第三方厂商来实现。

按需备份(On-demand backups)

备份还原(Restores)

定时备份(Scheduled backups)

备份存储

1.Restic 方式备份

2.快照方式备份