You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HAProxy-Ingress重启后缺失TCP服务段问题求助

HAProxy-Ingress重启后TCP服务配置缺失问题排查请求

环境信息

  • Kubernetes版本:1.19
  • HAProxy-Ingress版本:v0.13.6(对应HAProxy版本2.3.17-d1c9119,发布于2022/01/11),此前版本也存在相同问题

问题现象

当HAProxy Pod因存活探针触发、节点故障等原因重启后,/etc/haproxy/haproxy.cfg文件中缺失TCP服务配置段,原本应生成的配置内容如下:

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# #   TCP SERVICES (legacy, via configmap)
# #
#
listen _tcp_namespace_project-haproxy-stats_111
    bind :111
    mode tcp
    log-format "[%t] %ci:%cp %si:%sp %bi:%bp %fi:%fp %ft %b/%s %Tw/%Tc/%Tt %B %ts %ac/%fc/%bc/%sc/%rc %sq/%bq"

    option log-health-checks
    option tcp-check
    tcp-check send "AAA"
    tcp-check expect string "BBB"

    # Recognized options podMaxConn: 2
    default-server check port 111 inter 2s maxconn 2 observe layer4 error-limit 1 on-error mark-down
    server-template project-worker.namespace- 3 project-worker.namespace.svc.cluster.local:111 resolvers kubernetes resolve-prefer ipv4 init-addr none

复现方式

在Pod内执行reboot命令,多次尝试可复现该问题

临时解决办法

  • 执行kubectl rollout restart deployment <haproxy-ingress-deployment-name>
  • 修改TCP服务对应的ConfigMap(增删改任意内容),触发HAProxy重新加载配置后恢复正常
  • 手动执行/haproxy-reload.sh无法解决该问题

异常与健康实例的进程参数差异

异常实例进程参数

/ # ps axjf | more
PID   USER     TIME  COMMAND
...
   34 root      0:00 haproxy -f /etc/haproxy -p /var/run/haproxy/haproxy.pid -D -sf
...

健康实例进程参数

/ # ps axjf | more
PID   USER     TIME  COMMAND
...
   43 root      0:00 haproxy -f /etc/haproxy -p /var/run/haproxy/haproxy.pid -D -sf 31 -x
...

恳请协助排查该异常原因。

内容的提问来源于stack exchange,提问作者Yegor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 14:20:22