Google 容器引擎负载均衡器如何与复制控制器交互



我已经通读了谷歌容器引擎和负载均衡器文档。

我的理解:

  • 我可以将公共 Pod 封装到一个复制控制器中
  • 我可以轻松地将网络负载平衡添加到我的容器引擎应用程序中

鉴于我有各种服务坐在nginx反向代理后面。

我想说的是:这是我在nginx背后的一套服务。请将它们推送到每个节点并将nginx连接到负载均衡器。因此,当一个节点发生故障时,它可以为其他节点提供服务,依此类推。

问题:

  1. 我是否正确理解了该上下文中负载均衡器和复制控制器的概念?

  2. 如果是,我是否假设只有应用程序的前端部分进入复制控制器,而非副本服务(例如 postgres 数据库或 redis 缓存(被推送到服务中?

  3. 我将如何设置它?我在文档中找不到它实际将负载均衡器连接到我的容器入口点的点。

总的来说,我对这些概念有点陌生,可能会在基础知识方面遇到困难。

我真的不明白你第一个问题背后的想法。这就是我的看法:

  • 负载均衡器仅用于向外部开放您的服务,在您的情况下为您的 nginx pod 设置一个公共 IP。这是它的工作原理(也是您的问题 3.的答案(: https://cloud.google.com/container-engine/docs/load-balancer

  • 复制控制器用于确保您始终为关联的 Pod 运行正确数量的 Pod。因此,使任何 pod 无限期运行的最佳方法是在这种情况下。为了回答您的问题 2.,我会确保所有 pod 都与关联的复制控制器一起运行,包括 postgres db 和 redis,只是为了确保您始终有一个运行它们的实例。

  • 该服务使"内部"Pod 之间的通信变得容易,并且在复制关联的 Pod 时还具有某种内部负载平衡。在您的情况下,您的数据库和 redis pod(每个由复制控制器控制(确实也必须由服务管理,以使它们可用于您的 nginx pod。

如果你想要一个完整的"堆栈"运行的例子,我建议这个链接:https://cloud.google.com/container-engine/docs/tutorials/guestbook 即使它很简单,你也可以得到这一切背后的主要思想。

最新更新