2

我使用 Traefik 作为 Kubernetes 集群的入口控制器。它工作正常,并且正如预期的那样,除了一个用例之外的所有用例。

我的服务/应用程序很少,都在同一个 URL/主机上提供服务,但在不同的路径上。
到目前为止,所有应用程序都部署在 EC2-VM 上,位于 ALB 后面,并且路由规则是在 ALB 中编写的。

现在我已经把一些应用迁移到了 Kubernetes,还有一些仍然部署在 ALB 后面。我希望所有流量只通过 traefik 提供,并且 traefik 应该根据路径规则路由到 Kubernetes 内部和 Kubernetes 外部的应用程序。

我想将我的 URL 指向 traefik 并有一个类似的规则(这样我可以将一个上游定义为 URL):

spec:
  rules:
  - host: my.url.com
    http:
      paths:
      - backend:
          serviceName: abc-service
          servicePort: tcp-80
        path: /abc
      - backend:
          serviceName: xyz-service
          servicePort: tcp-80
        path: /xyz
      - backend:
          serviceName: 12345-alb-url.ap-south-1.elb.amazonaws.com ##I am not sure what the key will be
          servicePort: tcp-80
        path: /123

traefik 可以吗?我尝试在 traefik 文档和谷歌上搜索,但找不到任何相关的解决方案。

4

1 回答 1

2

ExternalName您可以为部署在集群外的服务创建一个-type Service 并将流量转发到 Ingress 中的 Service。请参阅类型 ExternalName

于 2020-04-30T13:32:20.083 回答