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
我正在使用 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