Treafik 直接在负载均衡器上公开服务端口

时间:2021-07-19 17:01:48

标签: kubernetes-ingress traefik k3s

我正在尝试通过在 K3s 上运行的 Traefik Ingress 直接公开某些服务端口。我有一个用例,我想直接在 Loadbalancer 上公开某些端口,例如:

  • 8080 - Tomcat - TCP
  • 1700 - UDP
  • 1795 - TCP

我尝试基于来自 Nginx Repo 的这个线程创建以下配置(我知道它是用于 Nginx,但是,我在 Traefik 中找不到合适的文档):

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: multiportsvc
  annotations:
    kubernetes.io/ingress.class: traefik
spec:
  rules:
  - host: node2.givmecloud.in
    http:
      paths:
          #- path: /
       - backend:
            serviceName: webui
            servicePort: 80
        - backend:
            serviceName: the-udp-service
            servicePort: 1700
        - backend:
            serviceName: tomcat-tcp-service
            servicePort: 8080

然而,端口并没有直接暴露在 Ingress 上,只是 80/443 端口似乎暴露在负载均衡器上。我认为这个 SO 线程提到它不是直接可能的:

Nginx 似乎支持这一点,我查看了这个 Nginx 文档:https://kubernetes.github.io/ingress-nginx/user-guide/exposing-tcp-udp-services/

traefik 是否可以通过 v1 或 v2 实现,或者我需要将 Nginx 或 MetalLB 用于此类用例,如果不是,对于此类用例有什么建议?

谢谢,

0 个答案:

没有答案