- ansible是指令核心部分,其主要用于执行ad-hoc(点对点)命令,即单条命令。默认后面需要跟主机和选项部分,默认不指定模块时,使用的是command模块。
2. 默认使用的模块是可以在ansible.cfg 中进行修改的。 /etc/ansible/ansible.cfg
ansible常用命令解析:
查看当前 ansible 都支持哪些模块: ansible-doc -l
查看某一模块可以使用的参数:ansible-doc -s copy (eg:copy模块)
ansible用法:
ansible 主机名 -m 模块名 -a 模块参数
-m:模块的名字,如果执行单一的命令不用加-m,默认走command
-a: 模块参数,如果模块是command,-a 后面跟的就是命令参数
-i : 指定hosts文件位置 默认:/etc/ansible/hosts
-f: 并行任务数,一定是整数
-u:指定远程用户,默认是root
ansible-playbook:积累它的书写标准,很重要。
ansible-galaxy 指令用于方便的从https://galaxy.ansible.com/ 站点下载第三方扩展模块,我们可以形象的理解其类似于centos下的yum、python下的pip或easy_install
ansible-vault主要应用于配置文件中含有敏感信息,又不希望他能被人看到,vault可以帮你加密/解密这个配置文件,属高级用法。主要对于playbooks里比如涉及到配置密码或其他变量时,可以通过该指令加密,这样我们通过cat看到的会是一个密码串类的文件,编辑的时候需要输入事先设定的密码才能打开。这种playbook文件在执行时,需要加上 –ask-vault-pass参数,同样需要输入密码后才能正常执行
常用模块:
copy模块: src=/dir/file dest=/dir/
file模块:
cron模块:
group模块:
user模块:
yum模块:
service模块:
script模块:
ping模块:
command模块:
raw模块:
get_url模块:
synchronize模块:
剩余所有模块请参考ansible官网:
http://docs.ansible.com/ansible/list_of_all_modules.html
playbook书写规范:
http://docs.ansible.com/ansible/playbooks_intro.html