Ansible(二)如何在多台主机上批量执行任务
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ansible(二)如何在多台主机上批量执行任务相关的知识,希望对你有一定的参考价值。
参考技术A Ansible批量执行任务有两种方式 adhoc 和 playbook ,当执行简单的命令时,可以使用 adhoc ,当执行复杂的命令,涉及多个模块/条件等时,建议使用 playbookansible 的底层是 python ,但是我们在使用 ansible 的时候不需要写 python 脚本,而是直接调用模块即可。
模块是由红帽官方或者其他合作伙伴或开发爱好者开发好的脚本,我们可以通过调用模块,来执行对应的命令。
ansible-doc -l
ansible-doc ping
ansible" host-pattern" -m "module" -a"module argument" -i "inventroy-path"
playbook 是一个 yaml 格式的文件,后缀名为 .yml 或者 .yaml
在一个 playbook 文件中,可以包含多个 play
一个 play 就是要在指定主机中执行的一系列操作,在一个 play 中可以指定 hosts (在哪些主机上执行)和 tasks (执行哪些命令)
tasks 中可以包含多个 task ,每个 task 就是对一个模块的调用
ansible-playbook webserver.yml -e "user=root"
Playbook通常是幂等的,即同一个playbook,无论运行多少次,最终的结果都是一样的。如果被控主机之前已经进行了更改,那么再次运行playbook的时候不会进行变更。
以下是一个 playbook 的执行结果示例
TASK 的执行结果
以上是关于Ansible(二)如何在多台主机上批量执行任务的主要内容,如果未能解决你的问题,请参考以下文章