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

Kubernetes环境下HAProxy对接Galera集群的配置遗漏问题排查

配置遗漏及问题根因

1. MySQL健康检查用户权限配置缺失

当前创建的haproxy用户未显式配置允许空密码登录,导致HAProxy使用无密码方式发起健康检查时被Galera集群拒绝:

  • 需在Galera集群所有节点执行以下语句创建符合要求的健康检查用户:
CREATE USER 'haproxy'@'192.168.1.%' IDENTIFIED BY '';
FLUSH PRIVILEGES;
  • 若当前使用的HAProxy版本要求显式指定空密码,可将HAProxy配置中的健康检查规则修改为:
option mysql-check user haproxy password ''

2. HAProxy全局日志配置缺失

提供的haproxy.cfg中未配置global段的日志输出地址,导致log global配置不生效,触发日志警告:

  • 补充global段配置如下即可解决该警告:
global
    log /dev/log local0
    log /dev/log local1 notice
    chroot /var/lib/haproxy
    stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
    stats timeout 30s
    user haproxy
    group haproxy
    daemon

3. 健康检查能力不足(可选优化)

当前使用的option tcp-check仅能验证Galera节点3306端口可连通,无法验证数据库服务是否正常运行、集群数据是否处于同步状态,修复上述mysql-check配置问题后建议换回MySQL原生健康检查,提升服务可用性。

4. Kubernetes资源配置遗漏(可选优化)

当前HAProxy的Deployment未配置存活、就绪探针,无法让Kubernetes自动感知HAProxy服务状态,异常时无法自动重启重建,建议补充如下探针配置:

livenessProbe:
  tcpSocket:
    port: 6446
  initialDelaySeconds: 15
  periodSeconds: 10
readinessProbe:
  tcpSocket:
    port: 6446
  initialDelaySeconds: 5
  periodSeconds: 10

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 08:45:03