- keepalived 提供 kube-apiserver 对外服务的 VIP;
- haproxy 监听 VIP,后端连接所有 kube-apiserver 实例,提供健康检查和负载均衡功能
keepalived的主备+harpoxy的负载均衡(比如轮询),keepalived会检查harpoxy的进程情况(killall -0 haproxy),
如果主节点keepalived挂掉则VIP飘逸到node节点,对外服务的VIP不变,客户端无感知。harpoxy会负载三个master节点的6443端口至8443端口,然后再做轮询至apiserver。

此种高可用方法可以保证3个maser节点可以挂掉两个仍然保持服务可用(如果master复用ETCD节点还需要考虑etcd的高可用性)
kube-schduler和kube-controller等根据配置会启动一个节点然后阻塞其他节点,当出现问题时切换节点。
https://www.cnblogs.com/harlanzhang/p/10131264.html
Keepalived采用的是VRRP协议
VRRP可以将两台或者多台物理路由器设备虚拟成一个虚拟路由器,这个虚拟路由器通过虚拟IP(一个或者多个)对外提供服务。在虚拟路由器内部,同一时间只有一台物理路由器在对外提供服务,这台物理路由器被称为主路由器(MASTER),一般而言MASTER通过选举算法产生,它拥有对外服务的虚拟IP,提供各种网络功能。而其他物理路由器不拥有对外的虚拟IP,仅仅接收MASTER的VRRP状态通告信息,这部分路由器叫做备份路由器。当主路由器失效的时候,备份路由器重新进行选举,产生一个新的路由器成为MASTER。
