我有一个名为' backend-app'的应用部署。在几个不同节点上的pod中运行。我还有一项服务,公开了后端应用程序'作为我的前端应用程序被其他群集内部窗格访问吊舱。
如果我使用DNS连接到'后端应用程序'来自我的不同应用程序部署名为' frontend-app'这些请求是否会对每个后端应用进行负载均衡?每个节点上的pod?
听起来NodePort服务只会连接到一个节点而不会将我的请求负载平衡到其他节点。
答案 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如何使用它。