k8s api server ha 连接配置问题

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

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