繁体   English   中英

使用Ansible在AWS中进行蓝绿色部署

[英]Blue-Green Deployment in AWS with Ansible

我正在考虑使用Ansible来管理我的AWS基础架构; 我有(2台服务器具有自动缩放功能)。

我将使用ansible-playbook -i hosts deploy-plats.yml --limit spring-boot

这是我的deploy-plats.yml

---
- hosts: bastion:apache:spring-boot
  vars:
  remote_user: ec2-user
  tasks:
  - name: Copies the .jar to the Spring Boot boxes
    copy: dest=~/ src=~/dev/plats/target/plats.jar mode=0777
  - name: Restarts the plats service
    service: name=plats state=restarted enabled=yes
    become: yes
        become_user: root

我想知道是否使用这项技术将是蓝绿色部署或服务器将同时重新启动,产生停机时间

默认情况下,Ansible将尝试并行管理播放中引用的所有计算机。 对于滚动更新用例,您可以使用serial关键字定义Ansible应该一次管理多少个主机:(也许您要查找类似的内容而不是蓝绿色部署)

- name: test play
  hosts: webservers
  serial: 1

ansible串行链路

你的剧本也不是蓝绿色部署,我建议你阅读一下。

一点。 蓝/绿部署是一种软件部署策略,它依赖于在活动和非活动之间交替的两个相同的生产配置。 一个环境称为蓝色,复制环境称为绿色。 蓝色和绿色这两种环境都可以处理整个生产工作负载,并以交替方式使用,而不是作为主要和辅助空间。 一个环境是实时的,另一个环境在任何给定时间都是空闲的。 准备好新的软件版本后,团队会将此版本部署到空闲环境中,并在此处进行全面测试。 一旦对新版本进行了审查,该团队将使闲置环境处于活动状态,通常是通过调整路由器配置来重定向应用程序流量。 这使备用环境空闲。

默认情况下,Ansible将以并行方式运行每个任务。 您可以设置播放级别指令“serial”以强制它在一个和一个节点上运行播放。 这里将详细介绍: “委派,滚动更新和本地操作”

串行标签必须解决您的问题。 将值限制为1,以便以滚动方式执行重新启动任务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM