ansible (playbook的基本编写)


本章目标:编写基本的ansibleplaybook

playbook介绍:

playbook是ansible用于配置,部署,和管理被控节点的剧本。通过playbook的详细描述,执行其中的一系列tasks,可以让远端主机达到预期的状态。
可以这么理解,将ansible执行的两种模式adhoc及playbook比作为shall中的命令行操作及脚本,adhoc对应的是命令行操作,playbook则对应脚本,相当于将在playbook写多条命令去执行。
所以当我们每天重复去对受管主机进行多项维护时,在shall里使用命令行的操作方式会很繁琐,使用playbook就会大大减小运维人员的工作量。

编写和运行playbook

环境:当前工作目录必须含有ansible配置文件及受管主机清单。
配置文件:
在这里插入图片描述
清单:
在这里插入图片描述

playbook遵循的语法为yaml语法,playbook文件以yml为后缀。

演示1:查询受管主机是否存在kiosk(uid=1000)的用户:
查询用户使用的是user模块。
ad-hoc:

ansible all -m user -a "name=kiosk uid=1000 "

-m 指定模块
-a 指定参数
在这里插入图片描述
playbook:
编写语法要求:
1、对于缩进并不严格,但是处在同一层次中的同一级别的元素必须有相同的缩进量。
2、如果项目时其他享目的子项目,则该项目的所尽量必须大于其父项目。
3、playbook里为键值对的集合。

创建playbook:
在工作目录中建立user.yml
playbook以—开头
以…结尾。(可以省略)
在这里插入图片描述
编写完成后保存退出。
首先可以使用

 ansible-playbook  - -syntax-check  目标playbook

来检测是否有语法错误。
在这里插入图片描述
执行完之后没有报错即没有语法错误。

没有语法错误时可以使用ansible-playbook -C 目标playbook对目标playbook进行空运行。(此playbook较为简单)即显示运行结果,但并不在目标主机进行操作。可以清楚查看此playbook对目标主机产生的影响。
在这里插入图片描述

接着使用ansible-playbook 目标playbook文件 对此playbook进行执行:
在这里插入图片描述
也可以使用-v参数显示playbook的具体执行信息。可以显示当前playbook使用的配置文件:
在这里插入图片描述

playbook演示2:使用yum模块对目标主机进行安装apache,修改其发布页面,并配置使其启动并开机启动:
在这里插入图片描述
替换的index.html:./files/index.html:
在这里插入图片描述

使用ansible-playbook - -syntax-check apache.yul对其进行语法检测:
在这里插入图片描述没有报错,语法没问题。

空运行看看是否能成功执行:
在这里插入图片描述
无报错,空执行成功。

正式执行:ansible-playbook apache.yml
在这里插入图片描述
执行成功!

检测:
在这里插入图片描述
serverc.westos.com主机安装apache成功,启动并开机自启。

关闭serverc.westos.com防火墙,进行http访问测试:
在这里插入图片描述

多任务playbook演示3:
这里继续使用上个演示的清单和配置文件。
在上个演示时,须手动关闭防火墙才能访问受管主机apache的默认发布页面,在此演示中,将火墙的打开及关闭及永久添加httpd和最后使用主机测试这些环节也添加进playbook。

首先卸载上个演示所安装的apache,firewalld。
playbook:
在这里插入图片描述
在这里插入图片描述
编写完成后保存退出。
使用 ansible-playbook --syntax-check apache.yml对playbook语法进行检测:
在这里插入图片描述
语法检测正常,语法正确!
使用asible-playbook apache.yml进行执行:
在这里插入图片描述
执行成功!访问成功!

serverb.westos.com之前卸载的firewalld及apache正常运行:
在这里插入图片描述
在这里插入图片描述
serverb.westos.com火墙策略:
在这里插入图片描述
页面访问:
在这里插入图片描述

取消收集主机信息加快执行时间

在不使用ansible_facts时,可以不用收集主机信息,默认执行时收集主机信息。这会消耗相当多时间。
ps:ansible_facts会在后边博客讲述。

在这里插入图片描述
可以在playbook中添加:
gather_facts: no来禁用收集主机信息。
在这里插入图片描述
执行时:
在这里插入图片描述
就没有了收集主机信息这一步,大大节约执行时间。
注意:当playbook中使用了事实时,不能取消收集主机信息!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值