当通过Ingress
对象公开Kubernetes服务时,负载均衡器是否“集中”部署在集群中,即作为集群节点内的某个pod
控制器,或者只是另一个托管服务由给定的云提供商提供?
是否存在云提供商的具体差异。对于Google Kubernetes Engine和Amazon Web Services,上述问题是否属实?
答案 0 :(得分:1)
默认情况下,kubernetes群集根本没有IngressController
。这意味着如果您是本地人,则需要自己部署一个。
有些云提供商确实在他们的kubernetes优惠中提供了默认的入口控制器,这就是GKE的情况。在他们的情况下,提供入口控制器"作为服务"但我不确定它的确切部署地点。
谈到AWS,如果使用kops部署集群,您自己(需要自己部署入口控制器),但AWS上的不同部署选项可能包括入口控制器部署。
答案 1 :(得分:1)
我将回答Google Cloud Engine的问题。
是的,每次部署新的入口资源时,都会创建一个负载均衡器,您可以从该部分查看:
GCP Console --> Network services --> LoadBalancing
单击相应的Loadbalancer id可为您提供所有详细信息,例如外部IP,后端服务,ecc
答案 2 :(得分:1)
我想从其定义开始对Google Ingress控制器做一些澄清:
Ingress Controller是一个守护进程,部署为Kubernetes Pod,用于监视apiserver / ingresses端点以更新Ingress资源。它的工作是满足对Ingress的要求。
首先,如果你想更好地了解它的行为,我建议你阅读这个资源的官方Kubernetes GitHub description。
特别注意:
这是一个守护进程
它部署在一个吊舱
它位于kube-system命名空间
客户hidden
然而,你将无法看到"此资源例如运行:
kubectl get all --all-namaspaces
,因为它是在主服务器上运行而不向客户显示,因为它是一个被认为对平台本身运行至关重要的管理资源。如official文档中所述:
GCE / Google Kubernetes Engine在主服务器上部署入口控制器
请注意,用户无法访问任何Google Cloud Kubernetes群集的主文件并完全管理。