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