首页 文章

kkenetes on gke /为什么强制使用负载均衡器?

提问于
浏览
2

通过GKE进入kubernetes,目前通过裸机上的kubeadm尝试 .

在以后的环境中,不需要任何特定的负载均衡器;使用nginx-ingress和ingresses让一个服务到www .

相反,在gke上,使用相同的nginx-ingress,或使用提供的gke,你总是会得到一个计费负载均衡器 .

这是什么原因,因为它似乎最终不需要?

2 回答

  • 0

    Kubernetes服务有几种类型,每种类型都在前一种类型上构建:ClusterIP,NodePort和LoadBalancer . 只有最后一个会在 Cloud 环境中配置LoadBalancer,因此您可以在没有模糊测试的情况下在GKE上避免它 . 问题是,那么呢?因为,在最好的情况下,你最终会得到一个Ingress(我假设我们在你的问题中暴露了ingress),这可以在易失性IP上获得(节点可以随时滚动,新的可以获得新的IP)和高端口由NodePort服务 . 这意味着你不仅没有固定的IP使用,而且还需要打开类似http://:31978的东西,这显然是垃圾 . 因此,在 Cloud 中,您可以使用LoadBalancer服务类型将 Cloud 负载均衡器放在其前面 . 此LB将摄取端口80/443上的流量并将其转发到正确的后备服务/ pod .

  • 2

    (重新发表我的评论)

    通常,当一个人从外部世界接收流量时,该流量将被发送到一个或多个非ACLd公共IP地址 .

    如果你在裸机上运行k8s,那些BM可以有公共IP,你可以在其中一个或多个上运行ing .

    但是,出于安全原因,托管k8s环境不允许节点拥有公共IP .

    相反,托管负载均衡器可以拥有公共IP . 这些配置为知道为您的群集托管入口的专用节点IP,并相应地引导流量 .

相关问题