【问题标题】:Ingress or Service with type: LoadBalancer入口或服务类型:LoadBalancer
【发布时间】:2018-06-13 14:30:24
【问题描述】:

Kubernetes 有Ingress(在服务前面)和服务类型: LoadBalancer。这些似乎做相同的事情:允许公共流量进入匹配服务选择器的 pod。各自的优点和缺点是什么?在什么情况下我会选择其中一种?

【问题讨论】:

标签: kubernetes kubernetes-ingress kubernetes-service


【解决方案1】:

假设 AWS、GCP 或 Azure 是您的基础设施所在的位置

Ingress:

  • 仅当您有入口控制器(例如 nginx-ingress-controller、traefik...)时才可以工作。

  • 许多服务可以共享同一个入口

  • 基于名称的虚拟主机

  • 基于路径的路由

  • 只需要一个 AWS ELB(或 Google Cloud 的 GCP 负载均衡器)

  • 建议在大多数用例中采用这种方法

serviceType LoadBalancer:

  • 每个服务都会创建单独的 AWS ELB(成本效率低下,如果你以后有越来越多的服务会非常昂贵)

  • 如果您想确保最大的安全性/工作负载(每个服务 1 个 ELB),这可能会有所帮助

【讨论】:

  • 总结得当。重要的是:每项服务一个 LoadBalancer 将花费您很多,而 Ingress 将帮助您节省成本。如果有许多服务,重要的考虑因素。
  • 你需要 ELB (AWS/GCP) 还是只使用 nginx 入口控制器?
【解决方案2】:

Ingress 可用于根据路径公开许多服务,甚至根据请求中的主机或域公开多个应用程序。

负载均衡器始终只公开一项服务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-02
    • 2018-07-03
    • 1970-01-01
    • 2019-01-30
    • 2022-06-20
    • 2022-10-16
    • 2021-10-14
    相关资源
    最近更新 更多