【问题标题】:jenkins scalable-amazon-ecs scale from zero詹金斯可扩展亚马逊ECS从零开始
【发布时间】:2017-08-16 05:21:59
【问题描述】:

在 Jenkins 中有两个类似的插件可用:

两者都链接到同一个Jenkins wiki page

我没有找到该插件的可扩展版本的任何文档,我有以下问题:

是否可以使用此插件将集群中的 ECS 实例从 0(无)添加到 1? 我只想在有工作要做的时候才有活动的 ECS 实例。

我将不胜感激。

【问题讨论】:

    标签: amazon-web-services jenkins plugins amazon-ecs


    【解决方案1】:

    我找到了一种解决方法,可以将 ECS 实例的数量从零向外扩展。 我使用以下 shell 代码创建了一个新作业:

    result=$(aws ecs list-container-instances --cluster ${cluster-name} | grep -c arn:aws:ecs:${aws-region}) || true
    if [ "$result" = '0' ]
        then aws autoscaling set-desired-capacity --auto-scaling-group-name ${asg-name} --desired-capacity 1
    else 
        echo "Container already exists"
    fi
    

    替换变量 ${cluster-name}, ${aws-region}, ${asg-name} 用实际值

    此作业将 ECS 虚拟机的数量增加到 1,如果它是 0。

    可以使用 Cloudwatch 警报和自动缩放策略进行缩放。

    【讨论】:

    • 我看不出添加作业来进行配置更改如何真正解决任何问题。您可以编辑自动缩放属性,将所需容量设置为“1”。但是,这并没有解决主要问题:如何让 Jenkins 作业在 ECS 容器中运行,但在没有待处理作业时自动扩展到 0 个实例?
    • @DouglasManley 如果您将所需容量编辑为“1”,您最终会遇到 ECS 实例永远存在的情况。我只想在某些作业正在运行时才运行实例以节省成本
    • 那么你是说每个作业都有这个扩展为一个的代码吗?
    【解决方案2】:

    尝试卸载这些插件并从分支自动缩放https://github.com/cbamelis/amazon-ecs-plugin手动编译ecs-slave插件

    【讨论】:

      猜你喜欢
      • 2016-04-27
      • 2016-04-27
      • 1970-01-01
      • 1970-01-01
      • 2016-07-08
      • 2017-10-03
      • 1970-01-01
      • 1970-01-01
      • 2013-08-25
      相关资源
      最近更新 更多