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