kubernetes 服务如何决定路由到哪个后端 pod

how does kubernetes service decide which backend pod to route to

我有一个 Kubernetes 服务,它通过以下方式进行选择:

spec: 
  selector: 
    backend: nlp-server

如果有多个 Pods 匹配选择器,Service 将请求路由到哪个 Pod

我正在使用默认的 ClusterIP 设置。在 docs

中搜索 "ClusterIP: Exposes the service on a cluster-internal IP. Choosing this value makes the service only reachable from within the cluster. This is the default ServiceType."

如果我希望服务路由到有意义的 Pod(负载较小),
internal load-balancer 是我需要的吗?

简而言之,不,您不需要链接到的内部负载平衡器。 Service 资源 确实是一个负载平衡器。取决于proxy mode it could be round-robin or random. If you're going with the default (iptables-based proxy) it would be a random pod selected每次打服务的虚拟IP。

注意:您可以使用内部负载平衡器类型,通常在云环境中such as GKE,例如,当您只需要集群内部连接,但它们(据我所知)通常是 L4 负载平衡器。