是否有任何文档说明如何使用外部负载均衡器在kubernetes API服务器上负载均衡流量。
用例:
我不喜欢在kubeconfig文件中使用单个主节点ip / name,并且需要为所有主节点使用通用名称,以便在一个主节点宕机时将流量发送给其他主节点。
我的DNS名称已经固定到loadbalancer ip,并且loadbalancer已通过SSL证书和kubernetes主后端节点进行配置,但是会导致错误: “计划http请求已发送到https服务器”
以某种方式,负载均衡器将http请求发送到kubernetes API服务器而不是https。
答案 0 :(得分:0)
事实证明,它确实可以在L7 http上运行,但是在L4 tcp上可以正常运行。
HAProxy配置如下:
frontend k8s-api
bind 192.168.0.150:443
bind 127.0.0.1:443
mode tcp
option tcplog
default_backend k8s-api
backend k8s-api
mode tcp
option tcplog
option tcp-check
balance roundrobin
default-server inter 10s downinter 5s rise 2 fall 2 slowstart 60s maxconn 250 maxqueue 256 weight 100
server k8s-api-1 192.168.0.147:6443 check
server k8s-api-2 192.168.0.148:6443 check
server k8s-api-3 192.168.0.149:6443 check