AWS Fargate 启动时间
Posted
技术标签:
【中文标题】AWS Fargate 启动时间【英文标题】:AWS Fargate startup time 【发布时间】:2019-12-15 04:08:31 【问题描述】:目前我正在研究如何在 AWS 上编排我们的 dockerised 微服务。 ECS 的 Fargate 选项看起来很有希望消除管理 EC2 实例的需要。
尽管在 Fargate 中启动一个“任务”需要很长的时间,即使是简单的单容器设置也是如此。我们的 Docker 应用程序映像通常需要 60 秒到 90 秒。我听说这可能需要更多的时间,比如几分钟左右。
所以问题是:虽然 Docker 容器通常可以在几秒钟内启动,但在 Fargate 案例中,这种开销的确切原因是什么?
附:搜索相关问题会返回这样的选项:
-
Docker 镜像加载/提取时间
负载平衡器影响 -
注册、健康检查宽限期等
但即使在没有部署负载均衡器的最简单配置中,假设 Docker 映像未缓存在 ECS 中,在 Fargate 中使用单个 Docker 映像启动任务(约 60 秒)仍然比启动慢至少约 2 倍裸 EC2 实例上的相同 Docker 映像(25 秒)
【问题讨论】:
如果登陆此处以获取有关适用于 EKS 的 AWS Fargate 的更多信息,请对此票投票:github.com/aws/containers-roadmap/issues/649(不确定这是否也会改善 ECS) @unthought +1 投票,我看到开发者在票中添加了一些有用的细节 【参考方案1】:是的,需要更长的时间,但我们无法概括 Fargate 的启动时间。您可以通过调整一些设置来减少这段时间。
vCPU 直接影响启动时间,因此您必须记住,在裸 EC2 实例中,您可以使用完整的 vCPU,而在 fargate 的情况下,您可能会分配其中的一部分。
由于 AWS 会为您管理服务器,因此它们几乎不需要做一些划线的事情。将 VM 分配到您的 VPC 以下载/提取 docker 映像、分配 IP 和运行容器可能需要这么多时间。
这是一个不错的博客,在以下文章的末尾您可以找到好的做法。
Analyzing AWS Fargate
【讨论】:
无法访问您链接的站点。 感谢指出,我已经更新了链接!以上是关于AWS Fargate 启动时间的主要内容,如果未能解决你的问题,请参考以下文章
如何在不重新启动集群的情况下使用 Fargate 在 AWS EKS 内传播 DNS 主机名(网络更改)和/或角色更改?