gpt4 book ai didi

amazon-web-services - 无法放置任务时扩展 ECS EC2 实例

转载 作者:行者123 更新时间:2023-12-04 08:17:42 25 4
gpt4 key购买 nike

我正在将 ECS 集群用于 Jenkins 代理/从站,带有 Jenkins ECS plugin .

当作业请求构建节点时,该插件会放置一个 ECS 任务。现在我想根据需求扩展与 ECS 集群关联的 Autoscaling Group 中的 EC2 实例。

  • Jenkins 经常闲着。在这种情况下,我不希望自动缩放组中有任何实例。
  • 如果请求节点(因此是 ECS 任务)并且无法放置,我想将 EC2 实例添加到自动缩放组。
  • 如果实例空闲且在计费小时之前不久,我希望删除该实例。

  • 第 3 点可以通过 EC2 实例上的 cronjob 来完成,该定时检查是否满足条件并删除 EC2 实例。

    但是我怎样才能完成 2. 点呢?如果无法放置任务,我将无法创建触发的 cloudwatch 警报。

    我怎样才能做到这一点?

    最佳答案

    当无法放置任务时,意味着将该任务放置在您的 ECS 集群中将超过您的 MemoryReservation 或 CPUReservation。您可以为这些 ECS 指标中的一个或两个设置 Cloudwatch 警报,以及将在您的 ECS 集群中添加和删除 EC2 实例的自动扩展策略。

    这与在 ecs:service:DesiredCount 维度上扩展 ECS 服务的自动扩展策略相结合,应该足以让您添加 ECS 集群所需的底层 EC2 实例。

    例如,您的 ECS 服务的 ScalingPolicy 可能是“当我们为此服务使用 70% 的分配内存时,将 2 添加到 DesiredCount”。添加 1 个服务任务后,您的 ECS 集群 MemoryReservation 指标可能会超过“80”阈值,此时 Cloudwatch 警报将针对 ECS MemoryReservation 的某个阈值触发,自动扩展策略添加另一个 EC2 节点,在该节点上第二个节点现在可以放置任务了。

    关于amazon-web-services - 无法放置任务时扩展 ECS EC2 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44614267/

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