在Mesos上的Kubernetes

我有下面的设置:Kobernetes在Mesos(基于kubernetes-mesos项目)在一个/ 16networking内。 每个吊舱都有自己的知识产权,我相信这将会利用64000个豆荚。 这个想法是为每个应用程序提供隔离,即每个应用程序在同一个pod中获取自己的mysql – 应用程序访问本地主机上的mysql(在pod中)。 如果需要额外的服务,我会使用kubernetes滚动更新来将服务的容器添加到容器中,应用程序也能够在本地主机上访问这个新服务。 每个应用程序都需要尽可能多的隔离。

  1. 这样的实现有什么缺陷吗?
  2. 我必须使用编织吗?
    • 有一个选项可以在运行kubernetes-mesos安装时指定service-ip-range。
  3. 一个洞是如何扩展服务,这是真的可行吗?
  4. 有一个更好的方法吗? 即提供隔离的服务

谢谢。 PS //我很明显是一个noobie在这个,我试图得到最好的设置运行。

这种devise将适用于小型应用程序,但是如果突然想让两个服务的实例碰到相同的mysql后端,就很难扩展。

您可能需要考虑将每个服务放到一个单独的名称空间中。 然后,服务的DNS查找将被限定在其自己的名称空间中,以便除非明确地查找其他服务的资源,否则不会查找其他服务的资源。 这可以让你把mysql(和任何其他的依赖关系)放在一个单独的窗口中,这样前端就可以独立地进行缩放。

一个普遍的误解是Pod应该pipe理一个垂直的多层堆栈:例如一个Web层+ DB层。

阅读Pods的Kubernetesdevise意图很有意思:它们是收集“帮手”的过程,而不是组成垂直堆栈。

要回答你的问题,我build议:

  • 仅为Web层定义Pod模板。 这可以使用复制控制器(问题1和问题3)缩放到任何所需的大小。
  • 为MySQL定义另一个Pod。
  • 使用服务抽象来定位这些组件。