HAProxy 2.0.2 不会为服务中的所有 pods 创建 'srv'
HAProxy 2.0.2 is not creates 'srv' for all pods within the service
我正在尝试在 K8S 集群中使用 HAProxy 实现一些基于 cookie 的会话粘性。我使用的是 2.0.2-alpine 镜像。
在这个环境中,我有 10 个 pods(全部处于活动状态并准备就绪)一些虚拟 Web 应用程序 StatefulSet,并且 HAProxy 通过以下后端指向它们的服务:
backend within_session
log global
mode http
option log-health-checks
option httpchk GET /isalive
balance roundrobin
dynamic-cookie-key XXXXX
cookie SESSION_COOKIE rewrite nocache dynamic
option httpclose
server-template srv 10 _http._tcp.dummywebapplication-service.mynamespace.svc.cluster.local resolvers k8s check
尽管我将 "srv" 设置为最大值 10,并且我有 10 个 pods 运行,但 HAProxy 仅创建了 4 "srv"。
知道是什么原因造成的吗?
以下是相关的 HAProxy 日志:
<133>Jul 23 08:09:04 haproxy[7]: within_session/srv1 changed its FQDN from (null) to dummywebapplication-0.dummywebapplication-service.mynamespace.svc.cluster.local by 'SRV record'
<133>Jul 23 08:09:54 haproxy[7]: within_session/srv2 changed its FQDN from (null) to dummywebapplication-1.dummywebapplication-service.mynamespace.svc.cluster.local by 'SRV record'
<133>Jul 23 08:10:24 haproxy[7]: within_session/srv3 changed its FQDN from (null) to dummywebapplication-2.dummywebapplication-service.mynamespace.svc.cluster.local by 'SRV record'
<133>Jul 23 08:11:14 haproxy[7]: within_session/srv4 changed its FQDN from (null) to dummywebapplication-3.dummywebapplication-service.mynamespace.svc.cluster.local by 'SRV record'
<133>Jul 23 08:11:54 haproxy[7]: within_session/srv3 changed its FQDN from (null) to dummywebapplication-4.dummywebapplication-service.mynamespace.svc.cluster.local by 'SRV record'
<133>Jul 23 08:13:14 haproxy[7]: within_session/srv2 changed its FQDN from (null) to dummywebapplication-6.dummywebapplication-service.mynamespace.svc.cluster.local by 'SRV record'
<133>Jul 23 08:14:44 haproxy[7]: within_session/srv2 changed its FQDN from (null) to dummywebapplication-8.dummywebapplication-service.mynamespace.svc.cluster.local by 'SRV record'
<133>Jul 23 08:20:04 haproxy[7]: within_session/srv1 changed its FQDN from (null) to dummywebapplication-6.dummywebapplication-service.mynamespace.svc.cluster.local by 'SRV record'
<133>Jul 23 08:20:04 haproxy[7]: within_session/srv2 changed its FQDN from (null) to dummywebapplication-1.dummywebapplication-service.mynamespace.svc.cluster.local by 'SRV record'
<133>Jul 23 08:20:04 haproxy[7]: within_session/srv3 changed its FQDN from (null) to dummywebapplication-5.dummywebapplication-service.mynamespace.svc.cluster.local by 'SRV record'
考虑到前 4 行有 srv1-4,之后 srv id 被重用。
将 accepted_payload_size 8192
添加到 "revolvers" 可以解决该问题。
我正在尝试在 K8S 集群中使用 HAProxy 实现一些基于 cookie 的会话粘性。我使用的是 2.0.2-alpine 镜像。
在这个环境中,我有 10 个 pods(全部处于活动状态并准备就绪)一些虚拟 Web 应用程序 StatefulSet,并且 HAProxy 通过以下后端指向它们的服务:
backend within_session
log global
mode http
option log-health-checks
option httpchk GET /isalive
balance roundrobin
dynamic-cookie-key XXXXX
cookie SESSION_COOKIE rewrite nocache dynamic
option httpclose
server-template srv 10 _http._tcp.dummywebapplication-service.mynamespace.svc.cluster.local resolvers k8s check
尽管我将 "srv" 设置为最大值 10,并且我有 10 个 pods 运行,但 HAProxy 仅创建了 4 "srv"。
知道是什么原因造成的吗?
以下是相关的 HAProxy 日志:
<133>Jul 23 08:09:04 haproxy[7]: within_session/srv1 changed its FQDN from (null) to dummywebapplication-0.dummywebapplication-service.mynamespace.svc.cluster.local by 'SRV record'
<133>Jul 23 08:09:54 haproxy[7]: within_session/srv2 changed its FQDN from (null) to dummywebapplication-1.dummywebapplication-service.mynamespace.svc.cluster.local by 'SRV record'
<133>Jul 23 08:10:24 haproxy[7]: within_session/srv3 changed its FQDN from (null) to dummywebapplication-2.dummywebapplication-service.mynamespace.svc.cluster.local by 'SRV record'
<133>Jul 23 08:11:14 haproxy[7]: within_session/srv4 changed its FQDN from (null) to dummywebapplication-3.dummywebapplication-service.mynamespace.svc.cluster.local by 'SRV record'
<133>Jul 23 08:11:54 haproxy[7]: within_session/srv3 changed its FQDN from (null) to dummywebapplication-4.dummywebapplication-service.mynamespace.svc.cluster.local by 'SRV record'
<133>Jul 23 08:13:14 haproxy[7]: within_session/srv2 changed its FQDN from (null) to dummywebapplication-6.dummywebapplication-service.mynamespace.svc.cluster.local by 'SRV record'
<133>Jul 23 08:14:44 haproxy[7]: within_session/srv2 changed its FQDN from (null) to dummywebapplication-8.dummywebapplication-service.mynamespace.svc.cluster.local by 'SRV record'
<133>Jul 23 08:20:04 haproxy[7]: within_session/srv1 changed its FQDN from (null) to dummywebapplication-6.dummywebapplication-service.mynamespace.svc.cluster.local by 'SRV record'
<133>Jul 23 08:20:04 haproxy[7]: within_session/srv2 changed its FQDN from (null) to dummywebapplication-1.dummywebapplication-service.mynamespace.svc.cluster.local by 'SRV record'
<133>Jul 23 08:20:04 haproxy[7]: within_session/srv3 changed its FQDN from (null) to dummywebapplication-5.dummywebapplication-service.mynamespace.svc.cluster.local by 'SRV record'
考虑到前 4 行有 srv1-4,之后 srv id 被重用。
将 accepted_payload_size 8192
添加到 "revolvers" 可以解决该问题。