首页 > 解决方案 > 使用 Service 类型 ClusterIP 的负载均衡和使用 LoadBalancer 的 Service 类型有什么区别?

问题描述

当我使用具有ClusterIP类型和 2 个 PODS 的服务时,流量分布在 2 个 POD 上。

我找到了另一个服务类型LoadBalancer。这两种服务有什么区别?LoadBalancer与ClusterIP有何不同?

谢谢

标签: kuberneteskubernetes-service

解决方案


ClusterIP在集群内部 IP 上公开服务。您无法从集群外部访问此服务。

除了集群内部 IP,LoadBalancer还会为服务分配一个外部 IP。外部 IP 可用于从集群外部访问服务。要使LoadBalancer工作,您需要一个分配这些外部 IP 的控制器。大多数云提供商都支持 LoadBalancer 服务。

观察以下输出中的TYPEEXTERNAL-IP列。只有 LoadBalancer 服务分配了 EXTERNAL-IP。此 IP 可用于从集群外部连接到服务。

# kubectl get svc
NAME                                TYPE           CLUSTER-IP       EXTERNAL-IP    PORT(S)                                                                                                              AGE
jaeger-collector                    ClusterIP      10.111.127.254   <none>         14267/TCP,14268/TCP,9411/TCP                                                                                         36d
jaeger-query                        LoadBalancer   10.106.69.234    10.92.70.150   80:32131/TCP

推荐阅读