ansible-playbook 实现服务滚动更新实例

  |   0 评论   |   0 浏览

ansible-playbook实现服务滚动更新实例

playbook例子如下

- hosts: all
  become: yes
  serial: 33%
  gather_facts: no
  tasks:
    - name: Checking group_vars/all.yml
      stat:
        path: group_vars/all.yml
      delegate_to: localhost
      run_once: yes
      become: no
      register: result
    - fail:
        msg: "Please create group_vars/all.yml from group_vars/all.yml.example, and edit it to suit your environment before your deploy."
      when: result.stat.exists == false
      delegate_to: localhost
      run_once: yes
      become: no

- hosts: all
  become: yes
  serial: 33%
  roles:
    - init

对于上述例子:

  • 默认情况下,Ansible将尝试并行管理playbook中所有的机器。对于滚动更新用例,可以使用serial关键字定义Ansible一次应管理多少主机
  • 将serial关键字指定为百分比,表示每次并行执行的主机数占总数的比例
  • 将serial关键字指定为数字,如2,表示每次并行执行的主机数为2,多批次直到执行完成。

详细用法参考官方文档


标题:ansible-playbook 实现服务滚动更新实例
作者:SmiteLi
地址:https://smite.site/articles/2020/02/07/1581037525003.html

评论

发表评论