使用服务类型 ClusterIP 和服务类型 LoadBalancer 的负载平衡有什么区别?
What is difference between load balancing using Service type ClusterIP and Service type of LoadBalancer?
当我使用类型为 ClusterIP 和 2 PODS 的服务时,流量分布在 2 PODs.
我找到了另一种服务类型 LoadBalancer。这两种服务有什么区别? LoadBalancer 与 ClusterIP 有何不同?
谢谢
ClusterIP 在集群内部 IP 上公开服务。您无法从集群外部访问此服务。
LoadBalancer 除了集群内部 IP 之外,还为服务分配了一个外部 IP。外部 IP 可用于从集群外部访问服务。要使 LoadBalancer 正常工作,您需要一个分配这些外部 IP 的控制器。大多数云提供商都支持 LoadBalancer 服务。
观察下面输出中的 TYPE 和 EXTERNAL-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
当我使用类型为 ClusterIP 和 2 PODS 的服务时,流量分布在 2 PODs.
我找到了另一种服务类型 LoadBalancer。这两种服务有什么区别? LoadBalancer 与 ClusterIP 有何不同?
谢谢
ClusterIP 在集群内部 IP 上公开服务。您无法从集群外部访问此服务。
LoadBalancer 除了集群内部 IP 之外,还为服务分配了一个外部 IP。外部 IP 可用于从集群外部访问服务。要使 LoadBalancer 正常工作,您需要一个分配这些外部 IP 的控制器。大多数云提供商都支持 LoadBalancer 服务。
观察下面输出中的 TYPE 和 EXTERNAL-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