golang vrrp + ipvs 实现简单的服务ha

发布时间 2023-05-16 18:18:22作者: 荣锋亮

比较类似keeplived ,但是是比较简单的集成

参考图

基于vrrp 实现vip 的处理,同时master 以及backup 安装基于vrrp+ipvs 的程序,基于服务状态进行服务的切换处理

 


实现说明: 对于vrrp 处理可以基于包装的vrrp golang (rongfengliang/vrrp) 包,同时对于ipvs 可以直接ipvs 包(可以使用mqliang/libipvs 或者cloudflare/ipvs)
当然对于实现部分也可以基于配置进行管理

说明

kube-vip 是一个很不错的项目,对于ipvs 部分就利用了cloudflare/ipvs 的包,是一个值得参考学习的golang 项目,后边有时间了可以实现一个简单的示例

参考资料

https://github.com/mqliang/libipvs
https://github.com/moby/ipvs
https://github.com/kube-vip/kube-vip
https://github.com/cloudflare/ipvs
https://github.com/rongfengliang/vrrp
https://www.keepalived.org/manpage.html