hongmeigui22027 发表于 2018-1-6 07:28:01

k8s api server ha 连接配置问题

  常见的lb 负载有硬件的f5 big-ip,同时对于互联网公司大家常用的是nginxhaproxy

了解k8s 集群高可用的都知道 api server是无状态的(etcd 解决了),但是controller-manager
scheduler组件必须在集群中只能保证有一份副本,保证一个副本解决的方式就是 --leader-elect=true
参数,但是api server 一般的建议是做负载均衡,具体使用那种大家一般是nginx 。
      这里面有一个坑,就是api server 使用的是长连接(stream),所以默认nginx 的lb 就有问题了。
      解决方法:
      a. 使用haproxy 进行api server 的lb(简单,好使,不用你添加太多的东西就可以了)
      b.修改nginxproxy_pass参数让支持stream 模式  

      proxy_set_header Connection '';  proxy_http_version 1.1;
  chunked_transfer_encoding off;
  proxy_buffering off;
  proxy_cache off;
  


       参考资料:  

   https://stackoverflow.com/questions/13672743/eventsource-server-sent-events-through-nginx  http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering
  
页: [1]
查看完整版本: k8s api server ha 连接配置问题