ingress 访问 nginx 报错 404,求求大伙给指个路

2022-08-01 19:46:58 +08:00
 yibo2018

https://efficacious-beginner-568.notion.site/ingress-404-8b90bafba2a245a8b725988810d655d5

上图是 ingress ,我用 h1 域名访问结果是 nginx 报 404 (直接问题)

尝试添加 annotation

kubernetes.io/ingress.class: nginx

nginx.ingress.kubernetes.io/rewrite-target: /

均无果,怀疑是 h2 的服务有问题,然后登陆到这个 ingress 下的 pod 中

curl localhost:8080 可以访问到

curl h2:8080 没有反应

Ping h2 可以

telnet h2 8080 没有反应

那么可以确定是 h2 的服务有问题吗?但实际项目已经在测试,正式环境跑通了,h2:8080 这样的访问方式应该是没问题的

看了 3 个小时,查了好多资料,无解了。。

1509 次点击
所在节点    程序员
8 条回复
chenxytw
2022-08-01 19:56:18 +08:00
service 咋写的?
yibo2018
2022-08-01 20:02:34 +08:00
Beebird
2022-08-01 20:44:27 +08:00
kubectl get endpoints h2 看看
yibo2018
2022-08-01 20:47:46 +08:00
@Beebird
░▒▓ ~/Doc/company_f/p/  kubectl get endpoints XXX
NAME ENDPOINTS AGE
XXX 182.20.2.42:8080,182.20.2.42:8080 55d
Beebird
2022-08-01 21:16:09 +08:00
你的配置,目的是<Service IP:80> 和 <Service IP:8080> 都指向 <Pod IP:8080> 吗?

那你在 ingress 下的 pod 中,curl h2:80 有无反应? (假设你的 ingress 和 h2 在同一个 namespace 下)
xvan
2022-08-01 23:11:40 +08:00
curl 不到 8080 应该就是有问题的。

反馈 404 的话,是不是先把 rewrite 规则去掉避免干扰
然后去 ingress-controller 中看下实际的规则怎么写的,确认下是否如预期,
最后可以看下 ingress-controller 的日志看有没有线索
xiaobai1213
2022-08-01 23:21:49 +08:00
看一下你的 service 捕捉到目标了吗
xiaobai1213
2022-08-01 23:23:00 +08:00
@xiaobai1213 之前遇到过 service 的 selector 写的有问题 捕捉不到 deploy 访问的时候就是 timeout

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/870043

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX