Ansible是一个系列文章,我会尽可能以通俗易懂、诙谐幽默的总结方式给你们呈现这些枯燥的知识点,让学习变的有趣一些。shell
经过前面的文章,你们基本上也都知道了Ansible的基本使用了,可是阅读的过程当中,你们会发现我有使用如下两种方式来玩这个Ansible。并发
ansible server1 -m ping
这样的方式来使用;ansible-playbook shellDemo.yaml
这样的方式来使用。这两种方式有什么区别的呢?第一种方式是直接在命令行输入整个命令,简单明了;而第二种方式则须要按照yaml语法来编写playbook剧本,这样的功能就更强大了;就比如咱们能够在Linux系统中直接运行Shell命令,也能够编写Shell脚本同样,Shell脚本的功能则更强大。运维
对于第一种方式,咱们也称之为Ad-Hoc命令,这篇文章我就重点讲讲如何使用Ad-Hoc命令;而第二种方式则称为剧本模式,将在下一篇文章中重点总结!dom
虽然Ad-Hoc命令的功能没有playbook剧本那样强大,可是也足以知足咱们工做中的不少场景。在Ansible中命令都是并发执行的,咱们能够针对目标主机执行任何命令。默认的并发数目由ansible.cfg
中的forks
值来控制。固然了,咱们也能够在运行Ansible命令的时候经过-f
指定并发数。经过ansible -h
命令就能够列出全部的命令参数,下面列举了经常使用的一些参数。工具
-v
,--verbose
:输出详细执行信息,-vvv
能够获得执行过程当中的全部信息;-i INVENTORY
,--inventory=INVENTORY
,--inventory-file=INVENTORY
:指定inventory
文件,默认使用/etc/ansible/hosts
;-f FORKS
,--forks=FORKS
:执行时并发的线程个数,默认为5;-m MODULE_NAME
:指定module
,默认为command
模块;-a MODULE_ARGS
:指定module
的参数;-o
:精简输出内容;--list-hosts
:列出主机列表,并不会执行其余操做。知道了这些选项,接下来咱们就经过一些实际的命令操做来熟悉和理解Ansible Ad-Hoc。学习
ping
模块是咱们常常使用的一个模块,咱们常常会这样使用:ui
ansible server1 -m ping -o
输出内容以下:命令行
192.168.1.3 | SUCCESS => {"changed": false,"ping": "pong"}
上一篇文章中是经过playbook的方式来学习copy
模块的,这里经过Ansible Ad-Hoc再来熟悉一下。线程
ansible server1 -m copy -a 'src=/home/jelly/nameList.txt dest=/home/test1/nameList.txt backup=yes' -o
输出以下:3d
192.168.1.3 | CHANGED => {"changed": true,"checksum": "2cb17bce3b65b4168ec1472690e6c49028b5b73b","dest": "/home/test1/nameList.txt","gid": 1001,"group": "test1","md5sum": "39e0c6634669ec88003d6d92f50e879e","mode": "0664","owner": "test1","size": 7,"src": "/home/test1/.ansible/tmp/ansible-tmp-1569858467.3466117-143590544702277/source","state": "file","uid": 1001}
shell
模块是咱们使用的最多的模块了。若是学会了Ansible,我想这个命令多是你从此运维中会常常使用的命令了。为何这么说呢?就是由于好用!!!
好比:
ansible server1 -m shell -a 'uname -ra' -o
输出以下:
192.168.1.3 | CHANGED | rc=0 | (stdout) Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
总而言之,言而总之,当你想在多台机器上执行某个命令时,不妨试一试这里说的这个方法哦!
好用的工具,就须要和你们分享。Ansible Ad-Hoc就是这么样的一个工具,固然了,Ansible整个都是一个好用的工具,用心学一下,你会发现收益不少。学会了Ansible之后,我看到那些运维人员,还在一台一台主机的登录,执行一样的命令的时候,我老是会心一笑。Too young, Too simple!哦,那些年,我也是这么走过来的。
祝福祖国母亲生日快乐!
2019年9月30日 于内蒙古呼和浩特。