「KUBERNETES-ADDONS」- kube-vip

更新配置

export VIP=172.31.253.120
export INTERFACE=eth0
export KVVERSION=v0.4.4

alias kube-vip="docker run --network host --rm ghcr.io/kube-vip/kube-vip:$KVVERSION"

kube-vip manifest pod               \
    --interface $INTERFACE          \
    --address $VIP                  \
    --controlplane                  \
    --services                      \
    --arp                           \
    --enableLoadBalancer            \
    --leaderElection | tee /etc/kubernetes/manifests/kube-vip.yaml

补充说明:
1)建议记录执行的命令及其参数,已被后续更新时使用;

开启 Master 负载均衡

kube-vip/Architecture

通过 –enableLoadBalancer 选项,来生成 manifest 文件,将开启 Control Plane 负载均衡。

或者,修改 kube-vip.yaml 文件,添加 lb_enable: true 环境变量:

...
    env:
    ...
    - name: lb_enable
      value: "true"
    ...
...

然后,在 Leader 中(即 VIP 所在节点)查看 IPVS 信息:

$ sudo ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.0.40:6443 rr
-> 192.168.0.41:6443            Local   1      4          0
-> 192.168.0.42:6443            Local   1      3          0
-> 192.168.0.43:6443            Local   1      3          0