zoukankan      html  css  js  c++  java
  • 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
     
  • 相关阅读:
    VSCode 配置 Python 开发环境
    出现:Microsoft Visual C++ 14.0 is required 的解决方案
    python3 pathlib库中的Path类的使用
    使用 AI 绘制箭头
    Adobe Illustrator 入门 新建 保存图片
    jinja2
    Java 读取和写入文本文件
    Affy包 estrogen包
    GEOquery
    apply() 函数家族介绍
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/7565634.html
Copyright © 2011-2022 走看看