kubernetes-ingress - Treafik 直接在 Loadbalancer 上公开服务端口
问题描述
我正在尝试通过在 K3s 上运行的 Traefik Ingress 直接公开某些服务端口。我有一个用例,我想直接在 Loadbalancer 上公开某些端口,例如:
- 8080 - 雄猫 - 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 用于这种类型的用例,如果没有,对于这种用例有什么建议?
谢谢,
解决方案
推荐阅读
- javascript - 使用枚举中的键创建类型隐含“任何”问题[角度]
- php - 使用 php 和 jquery 的安全计算表单
- javascript - 由于组件中的解构属性,Jest 测试无法进行快照和其他测试用例
- javascript - 对于模型“Product”的路径“_id”处的值“ascendPrice”,Cast to ObjectId 失败是什么?
- r - 将数据集与“数据框”合并,列名从 ; 到。,为什么?
- java - Java从内部类访问本地数组
- reactjs - 如何使用 react 和 typescript 在父组件中渲染子组件?
- docker - 如何将单个 docker-compose yml 文件拆分为多个 yml 文件
- python - 在采样数据中具有不同的值
- codeigniter - 文件上传并保存文件名,结合日期和用户ID(Codeigniter)