比较类似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