为多个pod共享相同的IP

问题描述 投票:0回答:3

是否可以在不同端口上的单个IP上公开不同端口的pod应用程序,例如

microservices-cart       LoadBalancer   10.15.251.89    35.195.135.146   80:30721/TCP  
microservices-comments   LoadBalancer   10.15.249.230   35.187.190.124   80:32082/TCP  
microservices-profile    LoadBalancer   10.15.244.188   35.195.255.183   80:31032/TCP     

看起来像

microservices-cart       LoadBalancer   10.15.251.89    35.195.135.146   80:30721/TCP  
microservices-comments   LoadBalancer   10.15.249.230   35.195.135.146   81:32082/TCP  
microservices-profile    LoadBalancer   10.15.244.188   35.195.135.146   82:31032/TCP     
kubernetes cloud
3个回答
0
投票

通常使用入口资源来重用相同的外部IP。

https://kubernetes.io/docs/concepts/services-networking/ingress/

但是你必须使用路径而不是端口进行路由。


0
投票

一种可能的解决方案是结合NodePort和反向代理。 NodePort在所有节点上的不同端口上公开pod。反向代理充当入口并将流量重定向到节点。


0
投票

不管怎样,你必须整合到同一个吊舱上。

您可以创建将每个端口代理到适当服务的部署。有很多方法可以创建TCP代理 - 通过nginx,节点通过包,有一个由Google维护的Go包;无论你最舒服的是什么。

© www.soinside.com 2019 - 2024. All rights reserved.