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

点赞
用户11689413
用户11689413

一切关于路由的问题都正常。

你使用的 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
2019-11-28 12:05:56
用户11414745
用户11414745

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
2019-11-28 12:32:37