我正在尝试通过在 K3s 上运行的 Traefik Ingress 直接公开某些服务端口。我有一个用例,我想直接在 Loadbalancer 上公开某些端口,例如:
我尝试基于来自 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 用于此类用例,如果不是,对于此类用例有什么建议?
谢谢,