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

时间:2015-11-05 20:17:52

标签: docker kubernetes autoscaling

我正在开发基于Docker的Web服务,其中每个订阅者都可以私有访问在云中运行的自己的Docker容器,从而暴露端口443。

我已成功使用nginx-proxy/docker-gen从同一个VM提供多个Docker容器,只有端口443暴露给公共网络。

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

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

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

我试图找出最佳解决方案。 Kubernetes 1.1似乎支持Pods的自动缩放(即基本上增加容器的数量......)但不支持容器主机的自动缩放(" minions"在Kubernetes中说话?)

我看过以下似乎接近我需要的项目:

  • Deis - 据我所知,没有明确的自动缩放
  • Tsuru - 可能的自动缩放解决方案,但仅限于计数/ RAM
  • Mesos/Mesosphere - 可能比必要复杂得多

任何人都可以提出任何有用的建议吗?

1 个答案:

答案 0 :(得分:2)

从Kubernetes v1.1开始,您现在可以实现Horizo​​ntal Pod Autoscaler:http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html