如何使用Mesos/Kubernetes/Azure来放大和缩小可用VM?

如何使用Mesos/Kubernetes/Azure来放大和缩小可用VM?,azure,workflow,kubernetes,mesos,Azure,Workflow,Kubernetes,Mesos,Mesos或Kubernetes是否提供了动态分配/取消分配虚拟机的工具 我需要构建一个工作流程引擎,它具有高度可变的负载以及短期和长期运行任务的混合。例如,在上午9点,我可能需要运行10000个作业,其中500个作业需要运行4小时,其余作业需要运行5分钟。然后在上午10点,我只需要运行600个短作业 如果我在Azure(我首选的云环境)上运行,Mesos或Kubernetes能否动态地放大或缩小集群中的可用VM以满足需求?它能智能地做到这一点吗?这样长时间运行的工作就不会被中断 由于我个人不使

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

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


如果我在Azure(我首选的云环境)上运行,Mesos或Kubernetes能否动态地放大或缩小集群中的可用VM以满足需求?它能智能地做到这一点吗?这样长时间运行的工作就不会被中断

由于我个人不使用Azure,所以我无法向您提供“生产”方面的信息,但我可以通过平均CPU使用率或消息队列大小来了解。如果您想遵循“手动”方式,请参阅文档,了解Azure的功能

对于Mesos的情况,我认为如果达到某些限制,可以利用CPU使用模式自动启动新的Mesos从机/代理。据我所知,纯Mesos本身无法启动其他vm,这意味着必须通过云提供商的接口进行自动扩展


如果您想使用DCO,有一个EAP for,它需要注册。据我所知,DCO应该能够与云提供商的接口交互,这意味着它应该能够自动伸缩。

Kubernetes还没有真正的自动伸缩功能,但您可以通过监视特定api(每秒请求数)来“手动”伸缩并让它调用特定的Azure向上/向下缩放api。

我不知道Azure中有用于DCO/MESOS的自动缩放器。下面是一个github存储库,用于在ACS kubernetes集群中生成自动定标器。


至于代码是如何工作的。它是一个使用az cli构建的工具,用于告诉ACS服务使用az ACS scale命令向上和向下扩展节点。查看代码,它希望使用kubectl耗尽所有连接,然后从节点中放入pod,但目前似乎没有这样做。

虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-谢谢你的反馈,下次我会做得更好。这一次我实际上对autoscaler的内部结构不太了解,所以我不想曲解它。将对其工作原理进行更详细的编辑。