【问题标题】:Routing traffic to outside Kubernetes using Traefik Ingress Controller使用 Traefik Ingress Controller 将流量路由到 Kubernetes 外部
【发布时间】:2020-08-12 18:02:20
【问题描述】:

我使用 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 文档和谷歌上搜索,但找不到任何相关的解决方案。

【问题讨论】:

  • 尝试使用无头模式服务。我认为它在我上次尝试时有效,但不是 100% 确定。

标签: networking kubernetes traefik traefik-ingress upstream-branch


【解决方案1】:

您可以为部署在集群外的服务创建ExternalName-type Service,并将流量转发到 Ingress 中的 Service。见Type ExternalName

【讨论】:

    猜你喜欢
    • 2021-12-03
    • 2021-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-01
    • 1970-01-01
    • 2021-05-23
    • 1970-01-01
    相关资源
    最近更新 更多