关于“k8s 服务如何暴露UDP动态端口”的问题的解决

问题的产生

在某个云原生交流群中

a:hello,遇到一个面试问题,业务是直播的,k8s中 使用udp,端口开的很多,如何解决这个问题?

b: 解决什么问题,客户端连接的多,随机端口多吗?

a:随机的话,不随机的话,就固定某几个端口,但是应用会启动会生成很多个端口,要对外开放,需要访问,比如svc的nodeport或者是通过ingress不好指定?

b:udp生成的端口不是固定的吗 又不会像tcp一样建立tcp连接产生大量端口号

a:嗯不固定

这引起了我的兴趣 ,上述交流大致问题可以归纳为:

1、业务传输的udp端口需要与外部程序临时协商决定

2、k8s的服务端口无法固定

解决方案

1、在这个业务应用里面写update deploy/svc/ingress的端口的代码

2、使用sidecar,业务应用将协商后的端口,主动通知边车服务去update deploy/svc/ingress的端口

3、高射炮打蚊子,当大量服务有如此场景时搞个operator去update deploy/svc/ingress的端口

posted @ 2022-05-06 14:32  紫色飞猪  阅读(1087)  评论(1编辑  收藏  举报