Mesos / Kubernetes / Azure如何用于扩展和缩小可用虚拟机?

时间:2015-11-19 19:31:00

标签: azure workflow kubernetes mesos

Mesos或Kubernetes是否提供动态分配/取消分配虚拟机的工具?

我需要构建一个工作流引擎,它具有高度可变的负载以及短期和长期运行任务的混合。例如,在上午9点,我可能需要运行10,000个工作,其中500个工作需要4个小时才能运行,其余工作需要5分钟。然后在上午10点,我只需要完成600个短期工作。

如果我在Azure(我首选的云环境)上运行,Mesos或Kubernetes可以动态扩展或缩小群集中的可用VM以匹配需求吗?它可以智能地这样做,因此长时间运行的工作不会被打断吗?

3 个答案:

答案 0 :(得分:3)

我不知道天蓝色的DCOS / MESOS自动缩放器。这是一个github存储库,用于在ACS kubernetes集群中创建自动缩放器。 https://github.com/wbuchwalter/Kubernetes-acs-autoscaler

关于代码如何工作。它是使用az cli构建的工具,使用az acs scale命令告诉ACS服务扩展和缩小节点。看一下代码,它希望使用kubectl来排空所有连接,然后从节点中删除pod,但它目前看起来似乎没有。

答案 1 :(得分:2)

由于我个人不使用Azure,因此我无法为您提供生产服务。洞察力,但据我了解Azure supports auto-scaling或者通过平均CPU使用率或消息队列大小。如果您想遵循"手册"请参阅文档,了解Azure的可能性。方式。

对于Mesos案例,我认为如果遇到某些限制,可以利用CPU使用模式自动启动新的Mesos Slaves / Agents。据我所知,纯Mesos本身无法启动其他虚拟机,这意味着必须通过云提供商的界面进行自动扩展。

如果您想使用DCOS,则DCOS on Azure有一个EAP,需要注册。据我所知,DCOS应该能够与云提供商的界面进行交互,这意味着它应该能够自动扩展。

答案 2 :(得分:1)

Kubernetes还没有真正自动扩展,但您可以通过监控特定的api(每秒请求数)来“手动”执行此操作,并让它调用特定的Azure扩展/缩小api。