容器云负载均衡是否有好的解决方案?

目前容器云业务集群LB基于nginx实现,每次重启POD,nginx会进行端口检测(防止出现端口重复的情况),如果配置的service端口很多,端口监测时间就会很长,导致应用POD重启后需要等待较长时间才可以访问。目前考虑的解决办法是针对业务集群应用,分项目维度创建LB,每个项目使用各自的LB,避...显示全部

目前容器云业务集群LB基于nginx实现,每次重启POD,nginx会进行端口检测(防止出现端口重复的情况),如果配置的service端口很多,端口监测时间就会很长,导致应用POD重启后需要等待较长时间才可以访问。目前考虑的解决办法是针对业务集群应用,分项目维度创建LB,每个项目使用各自的LB,避免LB配置大量service转发端口,缩短端口检测时长。是否有其他更优的解决方案?

收起
参与8

查看其它 1 个回答lzj7618937的回答

lzj7618937lzj7618937质控经理cib
  • 基于DNS和HTTP 302的转发
    设计一个基于URL(域名或者访问路径)的HTTP request redirctor,这个转发器了解URL与后端服务POD的对于关系以及后端POD的服务能力,在请求过来之后,基于这些信息进行请求redirct。redirector向客户端返回 HTTP 302重定向响应,这个响应将携带一个选中的后端服务POD的访问地址,客户端能理解这个302返回,并且访问这回返回包里面携带的资源重定向之后的POD的地址。
  • 基于Openshift router的七层(haproxy)负载均衡
    使用基于haproxy实现的Openshift router服务,这个router是一个七层的proxy,除了处理请求还要处理返回流量,所以容易成为性能瓶颈。
  • 基于container host network模式的IPVS负载均衡
    这个模式下,无法使用就不能使用Kubernetes的网络支持功能,在POD启动之后,需要为每个POD配置macvlan网络,在这种方式下,IPVS可以和POD处在同一个LAN,使用IPVS的direct routing模式。具体配置可以参见这篇文章 《container网络方案之macvlan》
  • 基于kubernetes nodeport service的IPVS负载均衡
    这个模式下,IPVS运行在直接路由模式,后端服务通过node port service暴露,请求从IPVS director进入,响应从节点直接返回客户,形成三角模式流量。
银行 · 2020-12-09
浏览1369

回答者

lzj7618937
质控经理cib
擅长领域: 云计算容器容器云

lzj7618937 最近回答过的问题

回答状态

  • 发布时间:2020-12-09
  • 关注会员:3 人
  • 回答浏览:1369
  • X社区推广