Kubernetes 入口服务应该是 LoadBalancer 或 NodePort

Kubernetes ingress service should be LoadBalancer or NodePort

我正在玩这个应用程序。它由一个 Deploymentweb 有 3 个实例 运行)和一个 Service 暴露它(web-service)组成。现在 Service 的类型是 LoadBalancer。我还添加了一个 Ingress 指令来根据需要路由我的流量。

我的问题是......在 Ingress 到位后,我应该将服务类型从 LoadBalancer 切换到 NodePort 还是应该保持相同状态?

从我目前阅读的文档来看,似乎普遍认为要避免 nodePort,因为它在物理(或虚拟)节点上分配端口,一段时间后可能会变得拥挤。 LoadBalancer 会自动公开一个空闲端口,Google L3 负载均衡器将流量路由到该端口,因此无需将其切换到 Nodeport。

另请注意 - 一旦你有一个可用的入口,你根本不需要将后端服务公开为 LoadBalancerNodePort - 一个普通的内部 kind: Service 就足够了接收来自 Ingress.

的流量

正如所讨论的 here and described here,服务需要 NodePort