配置并行(RH294)

当Ansible处理playbook的时候会顺序运行每个play

确定play的主机列表之后Ansible将按顺序运行每个任务

一般来说,所有主机必须在任何主机在play中启动下一个任务之前成功完成任务

理论上,Ansible可以同时连接到play中的所有主机来执行每项任务

Ansible所进行的最大同时连接数由Ansible配置文件中的forks参数控制

且默认情况下为5

使用命令查看 forks 的默认值——grep forks ansible.cfg

简单来说,在所有主机上同时做第一个任务,然后一起做第二个任务

以此类推

使用 -f 或者--forks指定分叉的数量

简单点来说 就是 有很多主机的话

serial:2

先对两台机子下手,这两台机子同时配置

一起做任务一,然后一起做任务二

当所有任务完成的时候

进行下两台的任务

实验:配置并行

任务:跨多个受管主机调整playbook的并行和串行执行

实验开始: lab projects-parallelism start

去往工作目录: cd ~/projects-parallelism

查看文件 vim ansible.cfg

查看inventory文件的内容

检查playbook的内容 vim playbook.yml

检查remove_apache.yml的内容

2.执行playbook并且使用time命令得到运行所需时间

注意ansible如何同时在所有四台主机上执行每项任务

注意时间

3.执行ansible-playbook remove_apache.yml以停止和禁用httpd服务并删除httpd软件包

4.在ansible.cfg中将forks参数的值改为1

5.重新运行playbook并且使用time命令得到运行所需时间

注意这次ansible将一次在一台主机上执行各项任务

注意减少了分叉数量之后如何导致了playbook执行时间比以往更长

6.执行ansible-playbook remove_apache.yml以停止和禁用httpd服务并删除httpd软件包

7.将forks的值设置为2

8.在playbook.yml中添加serial参数并且值设置为2

9.运行playbook.yml

很明显分开运行了

10.执行ansible-playbook remove_apache.yml以停止和禁用httpd服务并删除httpd软件包

11.将forks的值设置为4

12.将playbook中的serial的参数设置为3

13.重新运行 playbook

此时ansible会只在三台主机上执行整个play

然后在最后一台主机上重复该play

实验结束 lab projects-parallelism finish

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值