首页 文章

是否在群集中部署了Kubernetes Ingress对象

提问于
浏览
1

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

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

3 回答

  • 1

    默认情况下,kubernetes集群根本没有 IngressController . 这意味着如果您是本地人,则需要自己部署一个 .

    一些 Cloud 提供商确实在他们的kubernetes提供中提供了默认的入口控制器,这就是GKE的情况 . 在他们的情况下,入口控制器提供“作为服务”,但我不确定它的确切部署位置 .

    谈到AWS,如果使用kops部署集群,则您自己(您需要自己部署入口控制器),但AWS上的不同部署选项可能包括入口控制器部署 .

  • 1

    我想从其定义开始对Google Ingress控制器做一些澄清:

    Ingress Controller是一个守护进程,部署为Kubernetes Pod,可监视apiserver / ingresses endpoints 以更新Ingress资源 . 它的工作是满足对Ingress的要求 .

    首先,如果你想更好地理解它的行为,我建议你阅读这个资源的官方Kubernetes GitHub description .

    特别注意:

    • 这是一个守护进程

    • 它部署在一个pod中

    • 它位于kube-system命名空间中

    • 对客户来说是hidden

    但是,您将无法运行此资源,例如运行: kubectl get all --all-namaspaces ,因为它在主服务器上运行而未向客户显示,因为它是被认为对平台本身操作至关重要的受管资源 . 如official文档中所述:

    GCE / Google Kubernetes Engine在主服务器上部署入口控制器

    请注意,用户无法访问任何Google Cloud Kubernetes群集的主服务器并且已完全管理 .

  • 1

    我将回答Google Cloud Engine的问题 .

    是的,每次部署新的入口资源时,都会创建一个负载均衡器,您可以从以下部分查看:

    GCP Console --> Network services --> LoadBalancing
    

    单击相应的Loadbalancer id可为您提供所有详细信息,例如外部IP,后端服务,ecc

相关问题