博客已经迁移到 https://jellynian.me
背景
先交代下事情发生的背景,公司在使用ucloud的负载均衡产品的过程中由于某种特殊的需求必须要自建外网负载均衡器,由于ucloud的云主机使用nat地址转化技术,外网IP的数据包被转发到了内网IP,而且外网IP是与云主机绑定的,所以就不能用传统的方式实现外网haproxy服务的高可用了,但是ucloud实现了切换公网IP的api,我们让keepalived在另一台机器挂掉的时候调用api来将该机器的外网浮动IP解除绑定,然后绑定到自己身上,api切换的时间极短保证了线上负载均衡器故障能够迅速切换。
安装keepalived
sudo apt update
sudo apt install keepalived -y
准备脚本
下载ucloud sdk
git clone https://github.com/ucloud/ucloud-sdk-python.git /etc/keepalived/script #下载ucloud python sdk 到 /etc/keepalived/script目录
cd /etc/keepalived/script # 进入 script 目录
cp config.simple.py config.py # 复制config.simple.py模板文件
编写脚本
修改 config.py 文件,
#配置公私钥"""
public_key = "" #你的公钥
private_ke