通过GKE进入kubernetes,目前通过裸机上的kubeadm尝试。
在以后的环境中,不需要任何特定的负载均衡器;使用nginx-ingress和ingresses让一个人服务于www。
相反,在gke上,使用相同的nginx-ingress,或使用提供的gke,你总是得到一个计费负载均衡器。
这是什么原因,因为它似乎最终不需要?
答案 0 :(得分:2)
(重新发表我的评论)
通常,当一个人从外部世界接收流量时,该流量将被发送到一个或多个非ACLd公共IP地址。
如果你在裸机上运行k8s,那些BM可以拥有公共IP,你可以在其中一个或多个上运行ing。
但是,出于安全原因,托管k8s环境不允许节点拥有公共IP。
相反,托管负载均衡器允许拥有公共IP。这些配置为知道为您的群集托管入口的专用节点IP,并相应地引导流量。
答案 1 :(得分:0)
Kubernetes服务的类型很少,每个类型都在前一个类型上构建:ClusterIP,NodePort和LoadBalancer。只有最后一个会在云环境中配置LoadBalancer,因此您可以在没有模糊测试的情况下在GKE上避免它。问题是,那么呢?因为,在最好的情况下,你最终会得到一个Ingress(我假设我们在你的问题中暴露了ingress),这可以在易失性IP上获得(节点可以随时滚动,新的可以获得新的IP)和高端口由NodePort服务。这意味着你不仅没有固定的IP使用,而且还需要打开类似http://:31978的东西,这显然是垃圾。因此,在云中,您可以使用LoadBalancer服务类型将云负载均衡器放在其前面。此LB将摄取端口80/443上的流量并将其转发到正确的后备服务/ pod。