为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
TiDB:v5.2.1
Haproxy:1.5.18
【概述】场景+问题概述
Haproxy:/etc/haproxy/haproxy.cfg
…
listen tidb-cluster
bind 0.0.0.0:3306
mode tcp
balance leastconn
server tidb-pd1-0 10.242.105.1:4000 send-proxy check inter 2000 rise 2 fall 3
server tidb-pd1-1 10.242.105.1:4001 send-proxy check inter 2000 rise 2 fall 3
server tidb-pd2-0 10.242.105.2:4000 send-proxy check inter 2000 rise 2 fall 3
server tidb-pd2-1 10.242.105.2:4001 send-proxy check inter 2000 rise 2 fall 3
server tidb-pd3-0 10.242.105.3:4000 send-proxy check inter 2000 rise 2 fall 3
server tidb-pd3-1 10.242.105.3:4001 send-proxy check inter 2000 rise 2 fall 3
…
TiDB tiup cluster edit-config tidb-csa01
…
server_configs:
tidb:
log.slow-threshold: 300
proxy-protocol.networks: 10.242.105.1,10.242.105.2,10.242.105.3
token-limit: 4000
…
【现象】业务和数据库现象
配置后TiDB Dashboard无法登陆
【业务影响】
无法登陆TiDB dashboard
send-proxy透传ip跟 dashboard冲突
怎么解决啊?
2 个赞
xfworld
(魔幻之翼)
2
2 个赞
我知道TiDB Dashboard不是3306啊。
我是通过2379/dashboard/ 访问的啊。
我是感觉 我配置了Haproxy透传之后导致dashboard登录不上的。
2 个赞
xfworld
(魔幻之翼)
4
什么意思,dashboard 无法登录? 你怀疑 是 haproxy 导致的?
这个很简单啊,去掉 haproxy,你看看是否正常…
另外透传模式,已经有很多答案了,你可以参考看看:
1 个赞
实在抱歉。可能是我没有描述清楚,给你带来了困扰。
我重新说明一下:
我是haproxy+keepalived做了一个三节点的高可用,复用的tidb-server实例的服务器
为了后端可以透传ip地址,
haproxy配置了send-proxy
tidb配置了proxy-protocol.networks
但是tidb dashboard登录的时候,对于tidb集群而言登录的源地址是属于proxy-protocol.networks,但是tidb dashboard登录用的不是proxy 协议,所以tidb dashboard登录不成功。
我说明白了吗?
2 个赞
xfworld
(魔幻之翼)
6
这是你需要理解的啊,上面给你那么多参考,明确了如果你要使用dashboard,必须把相关的IP不设置为透传模式,而且文档也说明:
简单说,凡是设置了透传模式的 IP地址,其他的组件就无法使用了
2 个赞
对的啊。有没有解决方案啊。
这就是我开始问的啊,官方目前有没有完美的解决方案啊。
1 个赞
那就是我没办法haproxy复用tidb-server实例所在的物理节点呗。
我只要复用了+透传IP。只能二选一
要不haproxy别透传,要不tidb-dashboard别想访问。
1 个赞
xfworld
(魔幻之翼)
10
没,你可以透传部分,另外一部分不透传就好了,这个是协议的问题(当然你也可以提出需求,让其他的组件能够满足 Proxy 协议的访问)
如果,想要更复杂的支持,伴鱼有个开源的中间件,可以看一下
1 个赞
system
(system)
关闭
12
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。