伙计们
我有带有服务和实例的ec2集群。任务基于在ecr中分配的最新版本的docker文件。现在,我正在寻找最简单的方法,即在部署最新镜像后,使用自动“刷新”服务来完成我的管道。我找不到aws的任何功能来解决此问题,但我发现了这一点:https://github.com/fdfk/ecsServiceRestart,但不幸的是它不起作用(无法与我的服务通信)。但是这个案例给我很大的启发,因为根据作者的方法,此解决方案在更新之前进行了重复服务,因此它提供了类似HA的功能,而没有任何停机时间。伙计们可以完成这些步骤而没有任何停机时间吗?
最佳答案
最后,我找到了实现目标的最佳方法。因此,这非常容易-我只是在管道中使用了ecs-deploy https://github.com/fabfuel/ecs-deploy。我设置了更长的超时时间而没有警告标志,并且该脚本为我完成了真正需要的一切。在我的示例中,我有一个包含3个实例和1个服务的群集,其中有两个正在运行的任务(负载均衡器后面有两个相同的节点)。当我在ECR中更新docker镜像时,ecs-deploy会运行自动更新第一个实例,并且根据蓝绿色部署,它也会使用负载均衡器链接逐个更新下一个实例。因此,通过这种方式,我在接受合并请求后实现了完全自动化的部署(当然,在此描述中,我跳过了一些步骤)。我希望这会对某人有所帮助。干杯!
关于amazon-web-services - 部署新版本的Docker镜像后ECS服务重新启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48226055/