Ansible - Playbook

作者:hinswan
来源:http://weiweidefeng.blog.51cto.com/1957995/1895261

Playbooks是Ansible的配置,部署和编排语言。他们可以描述您希望在远程机器做哪些事。使用易读的YAML格式组织Playbook。

如果Ansible模块是您工作中的工具,那么Playbook就是您的使用说明书,而主机资产文件就是原材料。

与adhoc任务执行模式相比,Playbooks使用ansible是一种完全不同的方式,并且功能特别强大。非常适合部署复杂的应用程序。


PlayBook基本使用

核心元素:

Tasks:任务,由模块定义的操作的列表;

Variables:变量

Templates:模板,即使用了模板语法的文本文件;

Handlers:由特定条件触发的Tasks;

Roles:角色;

playbook的基础组件:

Hosts:运行指定任务的目标主机;

remote_user:在远程主机以哪个用户身份执行;

sudo_user:非管理员需要拥有sudo权限;

tasks:任务列表

模块,模块参数:

格式:

(1) action: module arguments

(2) module: arguments

运行playbook,使用ansible-playbook命令

(1) 检测语法

ansible-playbook --syntax-check /path/to/playbook.yaml

(2) 测试运行

ansible-playbook -C /path/to/playbook.yaml

–list-hosts

-list-tasks

–list-tags

(3) 运行

ansible-playbook /path/to/playbook.yaml

-t TAGS, --tags=TAGS

–skip-tags=SKIP_TAGS

–start-at-task=START_AT

示例1:定义一个playbook任务来新增用户和组

定义一个yaml的模板


查查语法有没有错误,没有提示即表示语法应该没有问题。

测试运行看看,-C表示仅测试跑一边,但是不会实际操作

也可以单独测试某些特定的选项

查看仅影响的主机

查看运行哪些任务

查看哪个任务打标了,这里并没有任何任务打标记,后面再演示

以上没有错误,开始正式运行该任务

验证

示例2:定义一个playbook任务来修改文件端口


此步骤里面有安装httpd的安装包,其实此处有点多余,因为测试的两台主机均已经安装该服务,此处添加上去是为了演示效果,因为当生产环境中,假如存在一台服务器没有该安装包,那么次处就能帮我们安装上去,不然的话,漏了这一步,到后面查原因也挺麻烦的

检查语法问题

先从一台主机上面把httpd.conf文件拷问来编辑

修改httpd.conf文件

比如修改端口为8080,其他都为默认配置

首先备份好各自主机里面的配置文件,以防后面出错


检查备份是否成功

测试运行web.yml,看看有没有问题,没有问题的话就正常运行

执行改文件

验证服务器端口打开没有,可以看见8080端口已经打开,实验成功。

欢迎关注公众号。一起交流,学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值