实现工具:haproxy+keepalived

haproxy.cfg的配置:

global
    log         127.0.0.1 local2
    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon
    stats socket /var/lib/haproxy/stats
defaults
    mode                   tcp
    log                     global
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout check           10s
    maxconn                 3000
frontend   kube-api
    bind   0.0.0.0:6443
    mode   tcp
    log    global
    default_backend   kube-master

backend         kube-master
    balance     source
    server  master01  10.10.5.84:6443 check inter 2000 fall 2
    server  master02  10.10.5.85:6443 check inter 2000 fall 2
    server  master03  10.10.5.92:6443 check inter 2000 fall 2
listen stats
    mode http
    bind 0.0.0.0:1080
    stats enable
    stats hide-version
    stats uri /haproxyadmin?stats
    stats realm Haproxy\ Statistics
    stats auth admin:admin
    stats admin if TRUE