使用 Traefik Ingress Controller 将流量路由到 Kubernetes 外部
Routing traffic to outside Kubernetes using Traefik Ingress Controller
我正在使用 Traefik 作为我的 Kubernetes 集群的入口控制器。
它工作正常,除了一个用例之外的所有用例都符合预期。
我有几个 services/applications,都在同一个 URL/Host 服务,但在不同的路径上。
到目前为止,所有应用程序都部署在 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 文档和 google 上搜索,但找不到任何相关的解决方案。
您可以为集群外部署的服务创建一个ExternalName
类型的服务,并将流量转发到Ingress中的服务。请参阅 Type ExternalName
.
我正在使用 Traefik 作为我的 Kubernetes 集群的入口控制器。 它工作正常,除了一个用例之外的所有用例都符合预期。
我有几个 services/applications,都在同一个 URL/Host 服务,但在不同的路径上。
到目前为止,所有应用程序都部署在 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 文档和 google 上搜索,但找不到任何相关的解决方案。
您可以为集群外部署的服务创建一个ExternalName
类型的服务,并将流量转发到Ingress中的服务。请参阅 Type ExternalName
.