Traefik v2 IngressRoute CRD 到非 docker 服务

Traefik v2 IngressRoute CRD to non-docker service

我正在使用 Traefik 将传统的 nginx 前端反向代理迁移到 Kubernetes 集群。最终目标是将一切都转移到微服务上,但这可能需要一段时间。同时,如何创建一个 IngressRoute CRD 来路由到集群外部托管的遗留系统?这只是一种 http://server:port 的转发。我已经梳理了文档,但似乎 Traefik v2.0 已经删除了对自定义后端的支持,而且我不太确定在没有 IngressRoute CRD 的情况下应该如何在 Kubernetes 中注入动态配置(这似乎不支持 server:port定义)?我在这里可能完全偏离了路线,因此非常感谢对此的任何指导。

在解决一个不相关的问题时找到了答案——事实证明 Traefik 根本不参与方程式——IngressRoute 应该保持原样,而标准 Kubernetes 服务需要使用类型 ExternalName ClusterIP/NodePort/LoadBalancer.

apiVersion: v1
kind: Service
metadata:
  name: my-app-name
spec:
  externalName: hostname-of-legacy-system
  ports:
  - port: port-serving-legacy-app
    protocol: TCP
    targetPort: port-serving-legacy-app
  selector:
    app: my-app-name
  type: ExternalName