2

我的任务是预热一个在 ECS 上部署的 Docker 容器中运行的 ASP.Net Core 应用程序。似乎使用 Kubernetes,我们可以定义一个就绪检查路径,Kubernetes 将首先向其发送请求,并且只有在该请求完成后才开始发送真实流量。

我们在 ECS 上是否有等效功能?

有关此问题但可以在 Kubernetes 中解决的参考: https ://blog.markvincze.com/running-asp-net-core-in-auto-scaling-containers-warm-up/

4

1 回答 1

1

截至今年,ECS 确实使用了 Docker HEALTHCHECKs。

从 3 月 8 日的公告(https://aws.amazon.com/about-aws/whats-new/2018/03/amazon-ecs-supports-container-health-checks-and-task-health-mana/) :

Amazon ECS 与 Docker 容器运行状况检查集成,允许您明确定义和监控每个容器的运行状况。使用 HEALTHCHECK 命令,您可以为任务定义中的每个容器定义要监视的参数。正在运行的任务(正在运行的容器组)现在根据其基本容器的健康状况分配健康状况​​,并且任务的健康状况与 ECS 服务调度程序集成以自动重新部署不健康的任务并进行服务的滚动更新。您可以在 ECS 控制台或 ECS DescribeTasks API 中检查任务和容器的运行状况。

如果 ECS 确定您的任务不健康,它将为您替换该任务。如果您碰巧也在使用 AWS LB,您可以将 LB 配置为也进行健康检查,这样您就可以确保将流量路由到健康节点。ECS 没有像 Kubernetes 那样区分活跃度和就绪度。它只有一个“健康”检查概念。

于 2018-06-05T05:40:53.473 回答