使用 Kubernetes Nginx Ingress 将两个端点整合到一项服务中

Two endponts into one service with Kubernetes Nginx Ingress

我正在尝试从 Kubernetes NGinx 入口中的常规 NGinx 重现此配置:

location /addresslookup/ {
    ...        
    proxy_pass          https://fmt-address-lookup-service:5005/addresslookup/;
}

location /geocode/ {
    ...
    proxy_pass          https://fmt-address-lookup-service:5005/geocode/;
}

基本上我想要两个不同的外部端点通过 same Kubernetes 服务上的两个不同路径。我可以看到如何设置两个端点并将它们指向服务:

 rules:
  - host: api2.findmytea.co.uk
    http:
      paths:
      - path: /addresslookup/(.*)
        backend:
          serviceName: fmt-address-lookup
          servicePort: 5004
      - path: /geocode/(.*)
        backend:
          serviceName: fmt-address-lookup
          servicePort: 5004

但我找不到如何使其直接指向服务上特定路径的示例。

我错过了什么?

您只需要一条路径即可将流量重定向到您的服务。 应用程序内的路由应由应用程序处理。所以,同一个服务应该不需要在ingress中定义多条路径。

这里有多个示例 (NodeJS/Express) 应用如何处理内部路由 https://expressjs.com/en/guide/routing.html

参考我对类似主题的回复: