Linux Ansible导入剧本、任务滚动执行、任务并行执行

文章介绍了如何使用Ansible进行任务滚动更新,通过`serial`关键字确保主机顺序执行任务。同时,讲解了如何配置Ansible的并行执行能力,通过修改`forks`参数控制最大并行数。此外,还讨论了剧本的包含和导入,包括`include`和`import`的静态与动态操作,以及角色(role)的使用,便于剧本模块化和复用。
摘要由CSDN通过智能技术生成

目录

任务滚动更新

配置并行

包含和导入剧本


任务滚动更新

实现在多台被管理节点执行任务时,第一台的整个playbook执行完成后再在下一台主机执行任务;通过serial元素来实现

serial:1 表示一台一台执行playbook(serial也可以指定百分比)

---
- name: httpd
  hosts: web
  serial: 1
  tasks:
    - name: install httpd
      yum:
        name: httpd
        state: present

配置并行

Ansible 的最大连接数默认由ansible.cfg文件中的forks参数控制

可以通过设置此参数实现每次并行的执行一个 play,所有主机第一个 play 执行完后,再执行下一个 play

vim ansible.cfg
forks      =  10 (最大可以并行10台主机)

包含和导入剧本

采用模块化方式将多个playbook组合为一个主要playbook可以更轻松的实现在不同项目中重复使用play

在ansible中的实现方法:include、import、role

include和import允许用户将大型剧本拆分为小的文件,这些文件可以在多个父级别剧本中使用,甚至可以在同一本playbook中多次使用

role不仅可以将任务打包在一起,还可以包含变量、处理程序、模块和其他插件,role也可以通过ansible galaxy上传和共享(可以通过role定义jinja2模板、handlers程序处理等)

Linux Ansible角色介绍_静下心来敲木鱼的博客-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_49864110/article/details/130435661include和import

Import 静态操作:在解析剧本时,对所有import*语句进行处理(即在导入playbook时就执行playbook)

Include 动态操作:所有include*语句均在执行playbook的时候进行处理(即在执行playbook时执行其他的playbook)

实例-通过剧本引入的方式实现httpd服务的安装与启动

创建剧本安装httpd服务
vim httpd_install.ym
---
  - name: install httpd
    yum:
      name: httpd
      state: present

创建剧本启动httpd服务
vim httpd_service.yml
---
  - name: service httpd
    service:
      name: httpd
      state: started

创建剧本,导入上述两个剧本任务
vim httpd.yml
---
  - name: isntall and start httpd
    hosts: web
    tasks:
      - name: isntall(import way)
        import_tasks: httpd_install.yml
      - name: start(include way)
        include_tasks: httpd_service.yml

运行yml文件(执行include的文件时,会显示文件来源)
ansible-playbook httpd.yml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静下心来敲木鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值