当前位置: 首页 > 知识库问答 >
问题:

所有吊舱的Openshift roundrobin请求

黄聪
2023-03-14
haproxy.router.openshift.io/balance : roundrobin
haproxy.router.openshift.io/disable_cookies: 'true'

但是在随机设置上面注释后的真实行为像:pod1、pod1、pod2、pod2、pod3、pod1、pod2、pod2....这是不正确的。

我们是否需要配置任何openshift配置,使其完善的RoundRoubin?

共有1个答案

呼延弘方
2023-03-14

如果要按顺序通过pod1、pod2、pod3访问,则应在同一个pod组上使用leastconn

leastconn   The server with the lowest number of connections receives the
              connection. Round-robin is performed within groups of servers
              of the same load to ensure that all servers will be used. Use
              of this algorithm is recommended where very long sessions are
              expected, such as LDAP, SQL, TSE, etc... but is not very well
              suited for protocols using short sessions such as HTTP. This
              algorithm is dynamic, which means that server weights may be
              adjusted on the fly for slow starts for instance.

HAProxyRoundRobin将平等地分发请求,但它可能无法保护组中的访问服务器顺序。

roundrobin  Each server is used in turns, according to their weights.
              This is the smoothest and fairest algorithm when the server's
              processing time remains equally distributed. This algorithm
              is dynamic, which means that server weights may be adjusted
              on the fly for slow starts for instance. It is limited by
              design to 4095 active servers per backend. Note that in some
              large farms, when a server becomes up after having been down
              for a very short time, it may sometimes take a few hundreds
              requests for it to be re-integrated into the farm and start
              receiving traffic. This is normal, though very rare. It is
              indicated here in case you would have the chance to observe
              it, so that you don't worry.

有关平衡算法选项的详细信息,请参阅HAProxy balance(算法)。

 类似资料:
  • 我已经为mysql部署了kubernetes集群和有状态pod。对于每个豆荚,我有不同的pvc。 例如:如果3盒thn 3 5GB EBS PVC 所以,哪种方法是更好地使用一个PVC为所有豆荚或使用不同的PVC为每个豆荚。

  • 我们正在使用Docker 1.19运行库伯内特斯(1.18) Container是一个基于Java13的Spring启动应用程序(使用基本图像作为openjdk: 13-alpin),下面是内存设置。 豆荚: 内存-最小448M,最大2500M cpu-最小值0.1 容器: Xms:256M,Xmx:512M 当流量发送更长时间时,容器会突然重新启动;在Prometheus中,我可以看到Pod内存

  • 我对Kubernetes是新来的。 我发现了2个pod优先级选项-优先级类别和服务质量。它们之间有什么不同? (https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/https://kubernetes.io/docs/tasks/configure-pod-container/quality-servi

  • 我的要求是在自定义指标上扩展POD,如队列中的挂起消息,PODS必须增加以处理作业。在kubernetes,Scale up在普罗米修斯适配器和普罗米修斯操作员中工作得很好。 我在pods中有长时间运行的进程,但HPA检查自定义度量并试图缩小规模,因为这个进程杀死了操作的中间并丢失了消息。我如何控制HPA只杀死没有进程运行的自由豆荚。 序列查询:‘{namespace=“default”,serv

  • 我试图了解如何最好地使用库伯内特的准备和活跃度探测器。我在测试时观察到的是,如果就绪探测失败,则pod被标记为未就绪,并从负载均衡器中移除。然而,然后我希望启动一个新的pod并将其移入负载均衡器,直到原来的pod再次准备就绪(或者它的活性探测失败并被杀死),然后它们中的一个可以被终止。 如果就绪探测失败,我们可能想要暂时从服务中移除一个pod,但这似乎会冒着所有pod都未就绪的风险,这将导致负载均

  • 我一直在使用创建POD,但我看到一些文档使用,更具体地说是多容器POD的文档: 但是要创建pod,我可以使用一个部署类型: 我注意到pod文档上说: