我已通读了谷歌容器引擎和负载均衡器文档。
我所理解的:
鉴于我在nginx反向代理后面有各种服务。
我想说的是:这是我在nginx背后的一套服务。请将它们推送到每个节点并将nginx连接到负载均衡器。因此,当一个节点发生故障时,它可以服务于其他节点,依此类推。
问题:
我是否正确了解负载均衡器和复制控制器的概念?
如果是,我是否认为只有应用程序的前端部分进入复制控制器,而非副本服务(例如postgres数据库或redis缓存)被推入服务?
我该如何设置?我没有在文档中找到实际将负载均衡器连接到容器入口点的点。
总的来说,我对这些概念有点新意,可能会遇到基础问题。
答案 0 :(得分:1)
我不能在你的第一个问题背后提出你的想法。我就是这样看的:
负载均衡器仅用于向外部开放服务,在您的情况下为您的nginx pod设置公共IP。以下是其工作原理(也是问题3的答案):https://cloud.google.com/container-engine/docs/load-balancer
复制控制器用于使您始终为相关的pod运行正确数量的pod。因此,在这种情况下,使任何pod无限运行的最佳方法。要回答你的问题2.我会说你的所有pod都运行了一个关联的复制控制器,包括postgres db和redis,只是为了确保你总是运行它们的实例。
该服务可让您轻松地在内部"内部进行沟通。 pods,如果复制了相关的pod,它还具有某种内部负载平衡功能。在您的情况下,您的db和redis pod(每个由复制控制器控制)确实也必须由服务管理,以使它们可用于您的nginx pod。
如果你想要一个完整的"堆栈的例子"我会建议这个链接:https://cloud.google.com/container-engine/docs/tutorials/guestbook即使它非常简单,你也可以得到所有这些背后的主要观点。