【问题标题】:Using HTTP Load Balancer with Kubernetes on Google Cloud Platform在 Google Cloud Platform 上将 HTTP 负载平衡器与 Kubernetes 结合使用
【发布时间】:2016-06-09 20:29:23
【问题描述】:

我已经按照GKE tutorial 使用 beta Ingress 类型创建了一个 HTTP 负载均衡器,并且在使用 nginx 映像时它工作正常。我的问题是关于为什么 Ingress 甚至是必要的。

我可以创建一个容器引擎集群,然后创建一个使用 Kubernetes 创建的实例组作为服务后端的 HTTP 负载均衡器,一切似乎都运行良好。 为什么我要经历使用 Ingress 的所有麻烦,而仅在部分流程中使用 Kubernetes 似乎工作得很好?

【问题讨论】:

    标签: google-compute-engine kubernetes google-cloud-platform google-kubernetes-engine


    【解决方案1】:

    虽然您可以自己创建“非托管”HTTP 负载均衡器,但当您添加新部署(带有服务的 pod)并希望将流量也路由到它们(可能使用 URL 映射)时会发生什么?

    当您的一个服务由于某种原因出现故障并且新服务分配另一个节点端口时会发生什么?

    Ingress 的优点在于它可以为您管理 HTTP 负载均衡器,同时跟踪 Kubernetes 的资源并相应地更新 HTTP 负载均衡器。

    【讨论】:

    • 这些都是很好的客观原因。我没有想过如何在单个 GCE 实例上提供多个服务。我认为你和罗伯特·贝利都有正确的答案。
    【解决方案2】:

    入口对象有两个主要用途:

    1. 使用可重复部署比自己配置 HTTP 平衡器更简单,因为您可以编写一个简短的声明性 yaml 文件来说明您希望平衡的样子,而不是 7 个 gcloud 命令的脚本。

    2. 它(至少在某种程度上)可跨云提供商移植。

    如果您在 GKE 上运行并且不关心第二个,您可以权衡入口对象和声明式语法的易用性与手动配置负载均衡器获得的额外自定义。

    【讨论】:

    • 我认为这是一个很好的答案,并且我认为这会在决定中发挥作用。但是,我认为 DoIT International 的答案更客观。谢谢!
    • 不用担心。只要您的问题得到充分回答,我就很高兴。 :)
    猜你喜欢
    • 1970-01-01
    • 2022-01-10
    • 2018-12-14
    • 2017-05-02
    • 2018-10-22
    • 1970-01-01
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多