LoadBalancer 和 External IPs 类型的 Kubernetes 服务有什么区别

Jor*_*nZT 5 kubernetes

我正在使用Kubernetes服务,但我对服务中的外部IP参数有点困惑:

如果存在路由到一个或多个集群节点的外部 IP,则可以在这些外部 IP 上公开 Kubernetes 服务。在服务端口上使用外部 IP(作为目标 IP)进入集群的流量将被路由到服务端点之一。外部 IP 不受 Kubernetes 管理,由集群管理员负责。

我不确定Load Balancer 类型的服务使用 External IPs 的服务之间的区别。

我可以使用 Load Balancer 类型的服务,然后服务可以由云提供商进行负载均衡。

但是当我使用带有External IPs参数的ClusterIP 类型时,我也可以获得负载均衡能力。

那么有什么区别呢?为什么有这个外部 IP参数?

vas*_*cop 5

你是对的,它们都是向外部公开服务的方式,并且它们都将到达由相关服务连接的所有 Pod,但是允许它的基础设施是不同的。

对于 LoadBalancer 类型,在支持外部负载均衡器的云提供商上,将为您配置一个。这与简单地将 IP 地址附加到节点不同。在 AWS 中,配置 ELB 和附加 EIP 之间存在差异。这些将意味着安全组控制、加密流量终止等方面的差异。

另一个重要的区别是,如果您位于受支持的云环境中,则 Kubernetes 自动配置 LoadBalancer,而外部 IP 则由您手动配置,这可能意味着或多或少的灵活性,具体取决于您的设置。请参阅文档了解更多信息