我刚开始使用Kubernetes,对NodePort和LoadBalancer服务类型之间的区别感到困惑。

我了解的区别是LoadBalancer不支持UDP,但除此之外,无论何时我们创建服务(节点端口或负载平衡器),我们都会获得服务IP和端口,NodePort和端点。

从Kubernetes文档:



因此,我将始终在NodeIP:NodePort上访问服务。
我的理解是,每当我们访问node:NodePort时,kubeproxy都会拦截请求并将其转发到相应的pod。

关于LoadBalancer提到的另一件事是,我们可以有一个外部LB,它将在节点之间进行LB。是什么阻止我们为作为节点端口创建的服务放置LB?

我真的很困惑。大多数文档或教程仅谈论LoadBalancer服务,因此我在互联网上找不到很多。

最佳答案

没有什么可以阻止您将外部负载平衡器放置在节点前面并使用NodePort选项。

LoadBalancer选项仅用于在后台自动向云提供商另外请求新的软件LB实例。

我尚未获得支持哪些云提供商的最新信息,但是我已经看到它已在Compute Engine和OpenStack上运行。

07-26 01:35