gpt4 book ai didi

amazon-web-services - 启动任务时 Amazon ECS 上偶尔出现故障并显示不同的错误消息

转载 作者:行者123 更新时间:2023-12-05 05:53:26 25 4
gpt4 key购买 nike

我们有一项正在运行的服务,可以协调启动来自 RabbitMQ 队列的消息的 Fargate ECS 任务。有时任务会奇怪地无法启动。

信息:

  • 它会在每隔一分钟和每十分钟之间的某个时间启动一项任务。
  • 它使用一定数量的任务定义。它重新使用任务定义。
  • 它始终在同一个 VPC 中使用同一个子网。

问题:

  • 绝大多数任务开始时都很好。说98%。有时任务无法启动,我会收到错误消息。错误消息并不总是相同的,但它们似乎与网络有关。

我在过去 36 小时内收到的错误消息:

  • 'Timeout waiting for network interface provisioning to complete.'
  • 'ResourceInitializationError: failed to configure ENI: failed to setup regular eni: netplugin failed with no error message'
  • 'CannotPullContainerError: ref pull has been retried 5 time(s): failed to resolve reference <image that exists in repository>: failed to do request: Head https:<account-id>.dkr.ecr.eu-west-1.amazonaws.com/v2/k1-d...'
  • 'ResourceInitializationError: failed to configure ENI: failed to setup regular eni: context deadline exceeded'

想法:

  • 在我看来似乎存在某种网络连接错误。
  • 我的谷歌搜索结果告诉我,至少有一些错误可能是由于错误配置的 VPC 或路由表引起的。
  • 我认为这里的情况并非如此,因为在同一子网中使用完全相同的任务定义启动完全相同的任务在大多数情况下都能正常工作。
  • ENI 问题可能是因为我在 EC2 实例上用完了 ENI:s (?),但由于这些任务是通过 Fargate 启动的,我觉得这不应该是问题所在。
  • 似乎至少网络配置错误有时可能是 AWS 问题。

问题:

  • 为什么会这样?是我还是 AWS?
  • 根据第一个问题的答案,我可以做些什么来避免这种情况?
  • 如果我无能为力,在它发生时我能做些什么来缓解它吗?我是否应该只是重试开始任务并希望解决它?

在此先感谢您,几个月来我一直在追寻这个问题,感觉我至少已经接近解决它了,但我担心这是我自己所能达到的极限。

最佳答案

由于某些原因,任务可能无法启动。其中一些是暂时的,更像是“AWS”,而另一些则更像是您的配置结构,更像是“您”。例如,网络超时通常是由于网络配置错误造成的,其中任务 ENI 没有正确的路由到注册表(例如 Docker Hub)。在所有其他情况下,这可能是 Fargate 内部的暂时性一次性问题。

这些问题对您来说可能是透明的,或者您可能需要根据您使用 Fargate 的方式采取措施。例如,如果您将 Fargate 任务用作 ECS 服务或 EKS 部署的一部分,ECS/EKS 例程将确保它们重试实例化任务以满足服务/部署目标配置。

如果您使用一次性 RunTask API 调用启动 Fargate 任务(即不是可以监控其故障的协调器控制循环的一部分),那么这取决于您调用该 API 的方式。如果您从 AWS Step Functions、AWS Batch 和可能的其他工具调用它,它们都有重试机制,因此如果任务启动失败,它们会足够聪明地重新启动它。

但是,如果您是从命令式代码行(或 CLI 命令等)启动任务,那么您的代码会确保任务已正确启动并且您不需要重新启动它一条错误消息。

关于amazon-web-services - 启动任务时 Amazon ECS 上偶尔出现故障并显示不同的错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69896304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com