Velero代码深入分析(三)-- Velero的插件系统之go-plugin库的集成

引言

velero的插件系统理解起来大致可以分为三部分,一是go-plugin库的集成,二是插件框架部分,三是插件的客户端管理部分,本系列文章将就这三部分展开,来深入的分析一下velero的插件系统。

背景

go-plugin这个github项目是著名的开源软件公司Hashicorp的一个项目,最初用来当作Hashicorp其它项目的一个工具。go-plugin主要是为go语言写的用来支持RPC或者gRPC的一个插件系统,但是,只能用来支持本地的可靠网络,不支持远程的实际网络。

velero使用go-plugin主要是为了与不同的存储厂商更好的集成,尽量降低与外部不同厂商的耦合度。参考3给出了目前实现velero插件的厂商,部分厂商既支持对象存储的插件,也支持快照的插件实现。比较常见的插件实现有:AWS,CSI,Azsure等。

除了上面这些厂商的集成,velero还把备份恢复过程中使用的一些操作(Action),例如对PV、Pod、StorageClass等资源的操作,也抽象出来变成了插件。

整体视图

velero通过go-plugin构造了一个两级的插件系统,如下图所示:

图片

其中第一级定义了主要的插件类型,每一个插件会实现go-plugin定义的接口。而每个一级插件&#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值