云计算服务并行运行数千个容器

问题描述 投票:0回答:2

是否有任何提供商,提供开箱即用的选项?我需要运行至少1K无头网络浏览器(firefox)的并发会话(docker容器)来进行复杂的UI测试。我有一个Docker映像,我只想部署并在第二阶段扩展到1000个1CPU / 1GB实例,没有花时间维护服务器集群(我需要在完成工作后将它们全部关闭),只需集中精力在代码上。到目前为止我发现的最接近的东西是Amazon ECS / Fargate,但它们的限制对我来说没有意义(“在生产中运行容器化应用程序” - >最大限制:50个任务 - >生产 - >确定)。我错过了什么吗?

amazon-web-services docker google-cloud-platform cluster-computing devops
2个回答
1
投票

我认为AWS Batch可能是您用例的更好解决方案。您定义提供特定级别容量的“计算环境”,然后提交在该计算环境上运行的任务。

我不认为你会发现任何可以启动环境并在“一秒钟内”部署大量任务的东西:根据我的经验,Batch需要大约一两分钟的上升时间,尽管一旦机器启动并运行,它们能够快速排序作业。您还应该考虑同时运行所有1,000个工作是否合理;这将取决于你试图从测试中得到什么。

您还需要了解可能受到限制的任何位置(例如,从AWS参数存储区检索配置)。来自去年纽约峰会的This talk介绍了演讲者在部署数千个并发任务时遇到的一些问题。


0
投票

您可以使用lambda图层来运行无头浏览器(我知道github上有几个chrome / selenium的实现,不确定firefox)。

或者,您可以尝试联系AWS团队,以了解可以增加Fargate上并发任务的限制。正如你可以see at the documentation,50任务是一个软限制,可以提出。

请注意,如果您通过Fargate启动,则每秒的请求会有一些API限制。你需要确保你throttle your API calls或你使用ECS Create Service

在任何情况下,启动1000个任务都需要1000秒,这可能不是您所期望的。

如果使用ECS,那些限制不存在,但在这种情况下,您需要管理集群,因此探索lambda选项可能是个好主意。

© www.soinside.com 2019 - 2024. All rights reserved.