2017-05-08 75 views
1

我在考慮使用Ansible來管理我的AWS基礎架構;我有(2臺服務器自動縮放)。使用Ansible在AWS中進行藍綠色部署

我將部署使用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 

,我想知道如果採用此技術將是一個藍綠色的部署或服務器將同時重新啓動,產生停機時間

回答

3

默認情況下,Ansible將嘗試管理所有在平行一齣戲中引用 的機器。對於滾動更新使用情況,您可以定義Ansible應該 多少主機在單一時間管理使用 serial關鍵字:(也許你看這樣的事情,而不是藍色 綠部署)

- name: test play 
    hosts: webservers 
    serial: 1 

ansible-serial-link

此外,您的手冊不是藍綠色部署,我建議您閱讀它。

一點點。藍/綠部署是軟件部署策略 ,它依賴於兩個相同的生產配置,它們在活動和非活動之間交替 。一個環境被稱爲藍色, 並且複製環境被稱爲綠色。藍色和綠色這兩種環境可以分別處理整個生產工作量,並且以交替方式使用,而不是作爲主要和次要空間使用。一個環境是活的,另一個在任何給定的 時間空閒。當一個新的軟件版本準備就緒後,團隊將這個版本發佈到空閒環境中,並在那裏進行全面測試。一旦 新版本已經審覈,該團隊將通過將路由器配置調整爲 來重定向應用程序流量,從而使空閒的 環境處於活動狀態。這使備用環境 空閒。

0

串行標籤必須解決您的問題。將值限制爲1,以便重新啓動任務將以滾動方式執行。

相關問題