Kubernetes怎么实现部署应用的端口暴露?

TAT_Hins 2019-04-25 07:05:32
背景:
如题,现在有一个在Kubernetes上部署好的服务器应用(私有内网集群)环境,需要通过Pod的一个端口进行通信。
客户端应用在一台能够和集群物理机网络连通的机器上,需要连接到这个服务器应用所在Pod的指定端口。
每个客户端对应一套部署,也就是需要连接不同的服务器应用,一对一的C/S服务。
对于客户端来说,连接的IP和端口最好是无需修改的,一劳永逸。

疑问:
目前的实现方法是,为每个服务器应用包装一个Service,并通过NodePort、DaemonSet的nodeSelector的方法,绑定到一台固定的物理机上,通过固定物理地址端口转发到Service,从而进一步转发到Pod内。
但是这样绑定太麻烦了,而且用户数量一旦达到一定规模,需要为每个用户绑定一个Service,可维护性弱。
查了一下资料,发现Ingress(例如Nginx-Ingress,一般只转发Http/Https,但也可以实现TCP/UDP转发)似乎可以做到。
想问一下大神们,有没有比较好的实现方案?
...全文
614 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
VF 2019-07-12
  • 打赏
  • 举报
回复
1、简单暴露 #直接暴露Pod端口到本地 kubectl port-forward pod/kubernetes-dashboard-fc78cd558-thdrv --address 0.0.0.0 12345:9090 #直接暴露Service端口到本地 kubectl port-forward svc/kubernetes-dashboard --address 0.0.0.0 12345:80 2、域名转发用ingress --------------------- 作者:VF 来源:CSDN 原文:https://blog.csdn.net/tiger435/article/details/94432969 版权声明:本文为博主原创文章,转载请附上博文链接!
cqyy725 2019-07-03
  • 打赏
  • 举报
回复
Ingress 都不了解? 怎么部署的k8s? Ingress---service-----container port

1,163

社区成员

发帖
与我相关
我的任务
社区描述
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux 机器上,也可以实现虚拟化。
社区管理员
  • Docker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧