是否在群集

时间:2018-01-16 10:34:00

标签: amazon-web-services kubernetes google-cloud-platform google-kubernetes-engine

当通过Ingress对象公开Kubernetes服务时,负载均衡器是否“集中”部署在集群中,即作为集群节点内的某个pod控制器,或者只是另一个托管服务由给定的云提供商提供?

是否存在云提供商的具体差异。对于Google Kubernetes Engine和Amazon Web Services,上述问题是否属实?

3 个答案:

答案 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群集的主文件并完全管理。