Kubernetes Ingress | 无法解析主机名
我首先创建了一个Ingress集群和Ingress服务,然后为了将请求路由到k8s集群中的NodePort-serviceA(resources-service)和NodePort-serviceB(staffing-service),应用了一个名为staffing-ingress.yaml的Ingress文件,如下所述。
资源服务和人员配备服务可以在容器内互相通信,而在从资源容器中使用curl命令“curl –v http://staffing-service:8080/swagger/index.html”时返回准确的结果,HTTP 200,反之亦然。但是,如果类似于http://staffing-service:8080/这样的不完整URL被命中,它会抛出404错误。
我怀疑员工-ingress.yaml文件中的路径路由方式。欢迎任何建议。
以下是详细信息
使用nginx负载均衡器IP访问服务(人员配备或资源)不返回结果并抛出404错误。
Curl –v http://a5b9f45d4119a11eabbd90a9c35f3125-1159448980.us-east-2.elb.amazonaws.com:80/api/resources 抛出以下错误
*已设置TCP_NODELAY
*已连接到a5b9f45d4119a11eabbd90a9c35f3125-1159448980.us-east-2.elb.amazonaws.com(3.134.165.38)端口80 (#0)
< HTTP/1.1 404未找到
<服务器:openresty/1.15.8.2
< X-Response-Time-ms:0
staffing-Ingress.YAML
apiVersion: networking.k8s.io/v1beta1
kind: ingress
metadata:
name: staffing-ingress
Namespace:默认
annotations:
ingress.kubernetes.io/ssl-redirect: "false"
spec:
rules:
http:
paths:
- path: /api/resources
backend:
serviceName: resources-service
servicePort: 8001
- path: /api/staffing
backend:
serviceName: staffing-service
servicePort: 8080
期望的结果 是在从具有URI‘/ api / resources /’的入口处使用外部LB时,它应调用api服务http://resources-service:8001/swagger/index.html。
Ingress 不会移除上下文路径!
因此,在 Ingress 之前,你对 www.xxx.yyy/api/resources/ 的调用并不等于 Ingress 之后的 www.xxx.yyy/。这意味着,你的后端服务也需要具有相同的上下文路径。
你需要做的是在两个服务中都添加上下文路径:
resources-service: www.xxx.yyy/api/resources/swagger/index.html
staffing-service: www.xxx.yyy/api/staffing/swagger/index.html
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?

一切关于路由的问题都正常。
你使用的 URL 错误。
你必须使用这个 URL:
http:// a5b9f45d4119a11eabbd90a9c35f3125-1159448980.us-east-2.elb.amazonaws.com:80/api/resources/swagger/index.html你必须在你的 URL 中添加 swagger/index.html,就像使用服务访问时一样。
curl –v http://staffing-service:8080/swagger/index.html curl –v http:// a5b9f45d4119a11eabbd90a9c35f3125-1159448980.us-east-2.elb.amazonaws.com:80/api/resources/swagger/index.html