群集IP和节点端口IP地址是否在不同节点之间实现负载平衡?

时间:2018-03-23 12:27:01

标签: kubernetes

我有一个名为' backend-app'的应用部署。在几个不同节点上的pod中运行。我还有一项服务,公开了后端应用程序'作为我的前端应用程序被其他群集内部窗格访问吊舱。

如果我使用DNS连接到'后端应用程序'来自我的不同应用程序部署名为' frontend-app'这些请求是否会对每个后端应用进行负载均衡?每个节点上的pod?

听起来NodePort服务只会连接到一个节点而不会将我的请求负载平衡到其他节点。

2 个答案:

答案 0 :(得分:2)

对于type: NodePort的每个服务,在所有节点上打开一个端口(每个节点上的端口相同)。无论该服务的pod是否在节点上运行,该端口都是打开的。负载均衡在所有节点的所有pod中完成,而不是优先于在节点端口上连接的同一节点上运行的pod(如果有的话那么)。

答案 1 :(得分:0)

服务会自动将余额加载到分配给它们的窗格。请参阅https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/#creating-a-service

使用服务创建的群集IP地址是将在运行Pod的任何节点上自动选择可用pod的IP地址。您可以使用DNS查找找到服务的群集IP地址。

我的困惑是因为我没有意识到群集IP地址与服务相关联,而不是与特定Pod相关联。

我目前还不确定NodePort如何使用它。