跨Kubernetes主节点的负载均衡

时间:2019-07-30 13:00:25

标签: kubernetes pulsesecure

是否有任何文档说明如何使用外部负载均衡器在kubernetes API服务器上负载均衡流量。

用例:

我不喜欢在kubeconfig文件中使用单个主节点ip / name,并且需要为所有主节点使用通用名称,以便在一个主节点宕机时将流量发送给其他主节点。

我的DNS名称已经固定到loadbalancer ip,并且loadbalancer已通过SSL证书和kubernetes主后端节点进行配置,但是会导致错误: “计划http请求已发送到https服务器”

以某种方式,负载均衡器将http请求发送到kubernetes API服务器而不是https。

1 个答案:

答案 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