我有以下设置: 在/ 16网络中的Mesos上的Kubernetes(基于kubernetes-mesos项目)。 每个pod都有自己的IP,我相信这将有64 000个pod。 我们的想法是为每个应用程序提供隔离,即每个应用程序在同一个pod中获取自己的mysql - 应用程序访问localhost上的mysql(在pod中)。 如果需要额外的服务,我将使用kubernetes滚动更新将服务的容器添加到pod,应用程序也可以访问localhost上的这个新服务。 每个应用程序都需要尽可能多的隔离。
感谢。 PS //我显然是一个noobie,我正在努力让最好的设置运行。
答案 0 :(得分:3)
一个常见的误解是Pod应该管理垂直的多层堆栈:例如Web层+ DB层一起。
阅读http://pilhuhn.blogspot.cz/2013/01/monitoring-monster.html很有意思:它们用于收集'辅助'进程,而不是组成垂直堆栈。
要回答你的问题,我建议:
答案 1 :(得分:2)
这种设计适用于小型应用程序,但是如果您突然想要两个服务器的几个实例命中同一个mysql后端,那么它很难扩展。< / p>
您可能希望将每个服务放入单独的命名空间。然后,默认情况下,服务的DNS查找将限定在其自己的命名空间中,以便它不会找到其他服务&#39;资源,除非它明确地寻找它们。这将允许您将mysql(和任何其他依赖项)放在一个单独的pod中,以便前端可以独立扩展。