我正在部署多个pod,每个pod都必须暴露。 我了解到我可以使用NodePort类型的服务公开那些。
我在这里面临的问题是,每个pod,群集范围内分配了一个端口。这将我可以暴露的pod的数量限制为+/- 65000(linux端口的数量)。
我想知道是否有可能只在运行它的工作节点上暴露具有端口的pod,例如10.10.0.30:30001。通过这种方式,端口30001可以在其他工作节点上用于其他pod。 我知道如果pod要死并在其他地方重新安排,则必须再次分配一个空闲端口。
这甚至可能吗? 是否有另外一种方法可以暴露大量的豆荚(200000 +)
谢谢!
答案 0 :(得分:1)
支持的配置已经受到限制,包括每个节点100个pod和每个群集150,000个pod see docs about building large clusters。
目前您无法实现的目标是不可能的。
答案 1 :(得分:0)
您可以在服务yaml中使用externalIP,如下所示,此处x.x.x.x可以是任何kubernetes节点的IP,8080将在该节点中公开。 规格: 端口: - 名称:http 港口:80 targetPort:8080 选择: app:nginx 类型:LoadBalancer externalIPs: - x.x.x.x