【 TiDB 使用环境】测试环境
【 TiDB 版本】
tidb版本:企业版7.1.0版本
k8版本:1.19
tidb-operator版本:v1.4.6
测试内容:
将tidb dashboard服务通过ingress代理出来,对外提供访问
问题:
通过ingress访问dashboar时返回404
复现流程:
测试集群id为bf45fbdb-1f2a-4562-900e-7cdae8b2945b,下文中的$ns代指该集群id
1、集群中已经配置好了dashboard的svc
2、配置ingress代理
将所有发送到http://www.dashboard.com/dashboard/bf45fbdb-1f2a-4562-900e-7cdae8b2945b/ 的请求全部转发到basic-dashboard这个service
3、在浏览器中发起请求
响应:
请求失败
4、ingress日志信息:
10.0.2.11 - - [24/Aug/2023:09:49:54 +0000] “GET /dashboard/bf45fbdb-1f2a-4562-900e-7cdae8b2945b/ HTTP/1.1” 302 34 “-” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36” 485 0.001 [bf45fbdb-1f2a-4562-900e-7cdae8b2945b-basic-dashboard-12333] [] 10.2.8.251:12333 34 0.000 302 0cc224c9a6dbc3efa30b8f08e4f1c3e6
10.0.2.11 - - [24/Aug/2023:09:49:54 +0000] “GET /dashboard/ HTTP/1.1” 404 548 “-” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36” 448 0.001 [upstream-default-backend] [] 127.0.0.1:8181 548 0.000 404 8eca64452a76f47cb840ae8cf5e72b1a
10.0.2.11 - - [24/Aug/2023:09:49:54 +0000] “GET /favicon.ico HTTP/1.1” 404 548 “http://www.dashboard.com/dashboard/” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36” 394 0.001 [upstream-default-backend] [] 127.0.0.1:8181 548 0.000 404 323ffbd86199d7f04020901b2b10eb75
通过日志发现"GET /dashboard/bf45fbdb-1f2a-4562-900e-7cdae8b2945b/ HTTP/1.1"在转发的时候换成了"GET /dashboard/ HTTP/1.1"地址,导致了404
5、猜测有可能是ingress配置有问题,下面我们在用相同的配置将请求转发到grafana试试
6、再次发起请求
7、
请求成功
8、ingress日志
10.0.2.186 - - [24/Aug/2023:10:05:07 +0000] “GET /timonitor/bf45fbdb-1f2a-4562-900e-7cdae8b2945b/ HTTP/1.1” 302 76 “-” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36” 561 0.001 [bf45fbdb-1f2a-4562-900e-7cdae8b2945b-basic-grafana-3000] [] 10.2.9.185:3000 76 0.001 302 124d29c000583146a7a078579b3a34e3
10.0.2.186 - - [24/Aug/2023:10:05:07 +0000] “GET /timonitor/bf45fbdb-1f2a-4562-900e-7cdae8b2945b/login HTTP/1.1” 200 30453 “-” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36” 566 0.003 [bf45fbdb-1f2a-4562-900e-7cdae8b2945b-basic-grafana-3000] [] 10.2.9.185:3000 30399 0.004 200 757dd724b6dc7483ad86848669ab309e
至此,ingress配置应该是没啥问题,那么问题来了,为什么ingress无法代理dashboard服务