1、ansible
ansible是指令核心部分,其主要用于执行ad-hoc命令,即单条命令。默认后面需要跟主机和选项部分,默认不指定模块时,使用的是command模块。
-
ansible [options]
-
-v,--verbose: 输出更详细的执行过程信息,-vvv可得到执行过程所有信息。
-
-i PATH,--inventory=PATH: 指定inventory信息,默认/etc/ansible/hosts。
-
-f NUM,--forks=NUM: 并发线程数,默认5个线程。
-
--private-key=PRIVATE_KEY_FILE:指定密钥文件。
-
-m NAME,--module-name=NAME:指定执行使用的模块。
-
-M DIRECTORY,--module-path=DIRECTORY:指定模块存放路径,默认/usr/share/ansible,也可以通过ANSIBLE_LIBRARY设定默认路径。
-
-a ‘ARGUMENTS’,--args=‘ARGUMENTS’:模块参数。
-
-k,--ask-pass SSH:认证密码。
-
-K,--ask-sudo-pass sudo:用户的密码(--sudo时使用)。
-
-o,--one-line:标准输出至一行。
-
-s,--sudo:相当于Linux系统下的sudo命令。
-
-t DIRECTORY,--tree=DIRECTORY:输出信息至DIRECTORY目录下,结果文件以远程主机名命名。
-
-T SECONDS,--timeout=SECONDS:指定连接远程主机的最大超时,单位秒。
-
-B NUM,--background=NUM:后台执行命令,超NUM秒后中止正在执行的任务。
-
-P NUM,--poll=NUM:定期返回后台任务进度。
-
-u USERNAME,--user=USERNAME:指定远程主机以USERNAME运行命令。
-
-U SUDO_USERNAME,--sudo-user=SUDO_USERNAME:使用sudo,相当于Linux下的sudo命令。
-
-c CONNECTION,--connection=CONNECTION:指定连接方式,可用选项paramiko(SSH)、ssh、local,local方式常用语crontab和kickstarts。
-
-l SUBSET,--limit=SUBSET:指定运行主机。
-
-l ~REGEX,--limit=~REGEX:指定运行主机(正则)。
-
--list-hosts:列出符合条件的主机列表,不执行任何命令。
2、ansible-doc
用于查看模块信息。
-
ansible-doc [options] [module...]
-
-v,--version:显示工具版本号。
-
-h,--help:显示help说明。
-
-M MODULE_PATH,--module-path=MODULE_PATH:指定ansible模块的默认加载目录。
-
-l,--list:列出所有可用模块。
-
-s,--snippet:只显示playbook说明的代码段。
-
3、ansible-playbook
该指令是使用最多的指令,其通过读取playbook 文件后,执行相应的动作。
-
ansible-playbook
-
--limit:指定运行主机。
-
ansible-playbook test.yml --limit test #即便test.yml中设定"hosts:all",也只对test组生效。
-
--list-hosts:查看执行哪些主机。
-
ansible-playbook test.yml --list-hosts
-
--remote-user:指定用户。
-
ansible-playbook test.yml --remote-user=jack #指定用户jack来执行test.yml。
-
--ask-sudo-pass,-K:指定密码。
-
--sudo:使用sudo用户。
-
--sudo-user:指定sudo可执行哪个用户的权限。
-
ansible-playbook test.yml --sudo --sudo-user=jack --ask-sudo-pass #指定sudo用户jack并且输入密码。
-
--inventory=PATH,-i PATH:指定inventory文件,默认文件是/etc/ansible/hosts。
-
--verbose,-v:显示详细输出,也可以使用-vvvv显示精确到每分钟的输出。
-
--extra-vars=VARS,-e VARS:定义在playbook使用的变量,格式为:“key=value,key1=value1”。
-
--forks=NUM,-f NUM:指定并发执行的任务数,默认5,根据服务器性能,调大这个值可以提高ansible执行效率。
-
--connection=TYPE,-c TYPE:指定连接远程主机的方式,默认为ssh,设为local时,则只在本地执行playbook,不建议修改。
-
--check:检测模式,playbook中定义的所有任务将在每台远程主机上进行检测,但不执行。
-
-
4、ansible-galaxy
用于方便的从 站点下载第三方扩展模块。
5、ansible-lint
是对playbook的语法进行检查的一个工具。用法是ansible-lint playbook.yml 。
6、ansible-pull
该指令使用需要谈到ansible的另一种模式--pull 模式,这和我们平常经常用的push模式刚好相反,其适用于以下场景:你有数量巨大的机器需要配置,即使使用非常高的线程还是要花费很多时间;你要在一个没有网络连接的机器上运行Anisble,比如在启动之后安装。
7、ansible-vault
主要应用于配置文件中含有敏感信息,又不希望他能被人看到,vault可以帮你加密/解密这个配置文件,属高级用法。主要对于playbooks里比如涉及到配置密码或其他变量时,可以通过该指令加密,这样我们通过cat看到的会是一个密码串类的文件,编辑的时候需要输入事先设定的密码才能打开。这种playbook文件在执行时,需要加上 --ask-vault-pass参数,同样需要输入密码后才能正常执行。
阅读(721) | 评论(0) | 转发(0) |