amazon-web-services - 部署新版本的Docker镜像后ECS服务重新启动

标签 amazon-web-services docker amazon-ec2 amazon-ecs

伙计们
我有带有服务和实例的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/

    相关文章:

    amazon-web-services - 在 Terraform 上的 aws_iam_policy 资源上包含标签

    amazon-web-services - 运行 AWS 命令​​时出现无效语法错误

    jenkins - 尝试基于 Alpine 构建 Jenkins Docker 镜像时出现 AWT 错误 -

    Django REST API 设置允许单个端点的主机

    java - Amazon S3 上传挂起 100%

    java - ElasticSearch索引,更新API

    macos - 命令 “docker-machine ls ”在我的Mac上什么也没有列出

    amazon-web-services - 具有 IAM 角色的 AWS EC2 的静态内容

    java - 强制AWS库从docker集群内的环境中获取区域

    python - Ansible 'ascii' 编解码器无法编码字符 u'\u2013'