jenkins scalable-amazon-ecs 从零开始扩展
jenkins scalable-amazon-ecs scale from zero
在 Jenkins 中有两个类似的插件可用:
两者链接到同一个 Jenkins wiki page
我还没有找到插件的可扩展版本的任何文档,我有以下问题:
是否可以使用此插件将集群中的ECS实例从0(none)添加到1?
我只想在有工作要做的时候才激活ECS实例。
如有任何帮助,我将不胜感激。
我找到了一种解决方法,可以将 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 VM 的数量从 0 增加到 1。
可以使用 Cloudwatch 警报和自动缩放策略进行缩减。
尝试卸载这些插件并从自动缩放分支手动编译ecs-slave插件https://github.com/cbamelis/amazon-ecs-plugin
在 Jenkins 中有两个类似的插件可用:
两者链接到同一个 Jenkins wiki page
我还没有找到插件的可扩展版本的任何文档,我有以下问题:
是否可以使用此插件将集群中的ECS实例从0(none)添加到1? 我只想在有工作要做的时候才激活ECS实例。
如有任何帮助,我将不胜感激。
我找到了一种解决方法,可以将 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 VM 的数量从 0 增加到 1。
可以使用 Cloudwatch 警报和自动缩放策略进行缩减。
尝试卸载这些插件并从自动缩放分支手动编译ecs-slave插件https://github.com/cbamelis/amazon-ecs-plugin