我是否需要为 Kubernetes 中的每个微服务一个 "K8s service" 以进行内部服务通信?

Do I need an "K8s service" for each microservice in Kubernetes for internal service communication?

我最终会在 Kubernetes 集群上拥有大约 20 个微服务。我认为像 Istio 这样的“服务网格”太过分了。如果我只需要在 20 个微服务中的每个微服务中做基本的 “服务发现和通信”,并且有 1 个外部 ingress/LB( 对于 public 流量),我是否需要为 20 个微服务中的每一个创建一个 K8 的 'service' 类型,以便它们可以通过 http/grpc 相互调用?

正确,您需要 Service 才能调用所有内容。 Service 是一个 LoadBalancer,它分散负载并隐藏底层 pods 的规模和位置,此外它还为您提供基于 DNS 的服务发现。