如何自动缩放Docker容器主机?

如何自动缩放Docker容器主机?,docker,kubernetes,autoscaling,Docker,Kubernetes,Autoscaling,我正在开发一个基于Docker的web服务,其中每个订阅者都可以私有访问自己在云中运行的Docker容器,并公开端口443 我已经成功地使用同一个VM为多个Docker容器提供服务,只有443端口暴露于公共网络 这个很好用。。。但是,当订阅者占用了VM资源时,我该怎么办? (作为一个简单的例子,在作为Docker主机的单个DigitalOcean 2Gb实例上,我可能有10个订阅者容器的实际限制。) 例如,当订户11注册时,我需要准备一个新的Docker主机并等待启动新容器 换句话说,我想对Do

我正在开发一个基于Docker的web服务,其中每个订阅者都可以私有访问自己在云中运行的Docker容器,并公开端口443

我已经成功地使用同一个VM为多个Docker容器提供服务,只有443端口暴露于公共网络

这个很好用。。。但是,当订阅者占用了VM资源时,我该怎么办? (作为一个简单的例子,在作为Docker主机的单个DigitalOcean 2Gb实例上,我可能有10个订阅者容器的实际限制。)

例如,当订户11注册时,我需要准备一个新的Docker主机并等待启动新容器

换句话说,我想对Docker主机进行水平自动缩放,以响应用户订阅需求。进行一些服务发现并使容器可公开寻址会很好

我正在努力找出最好的解决办法。Kubernetes 1.1似乎支持吊舱的自动缩放(即基本上增加容器的数量…),但不支持容器主机的自动缩放(“Kubernetes中的仆从”)

我看了以下项目,这些项目似乎接近我的需要:

  • -据我所知,没有显式自动缩放
  • -可能的自动校准解决方案,但仅限于计数/RAM
  • -可能比必要的复杂得多

有人能提出有用的建议吗

从Kubernetes v1.1开始,您现在可以实现一个水平吊舱自动缩放器:

我现在还不知道有什么解决方案适合您。但也有一些关于如何/何时向Kubernetes添加该功能的讨论(请参见作为起点)。自动扩展主机非常依赖于运行Kubernetes的云。例如,在Openstack上,您可以通过Murano或Magnum运行Kubernetes。在这两种情况下,他们都使用了一个热模板,再加上Celiometer警报来自动缩放运行Kubernetes的底层虚拟机。@rwehner:看起来很有趣-看起来Kubernetes 1.2中会有基本的群集自动缩放?好吧,我想从现在起可能需要很长一段时间。。。所以我现在不能单独使用Kubernetes…@MarkO'Connor,非常感谢这里的提示。我打算在“基本”云服务器(DigitalOcean/Linode等)上运行,并自己设置所有服务。我曾认为自己设置Openstack可能过于工程化(比如使用Mesos/Mesosphere),但如果我可以在不需要太多资源开销的情况下进行基本的生产部署(即只运行基本Openstack服务需要多少台机器?),那么这可能是正确的选择。虽然这是相当多的技术在堆栈。。。。Openstack+Magnum/Murano+Kubernetes。。。嗯…@danzvash Magnum和Murano解决方案旨在以不同的方式部署Kubernetes。第一个是一个合适的“容器即服务”产品,其中Kubernetes在一个选项中,第二个将其作为应用程序安装。在幕后,他们都在使用热来协调Openstack API调用。自动缩放功能由Heat提供(基于云高计度量)。在其他云层上,也可能有类似的热量供应。例如,在Amazon上有云的形成。谢谢,但事实上,我正在寻找的是节点自动缩放。rwehner已经引用了上述功能,该功能应包含在Kubernetes 1.2中。