Chinaunix首页 | 论坛 | 博客
  • 博客访问: 204110
  • 博文数量: 111
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 790
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-29 13:41
文章分类

全部博文(111)

文章存档

2018年(10)

2017年(27)

2016年(18)

2015年(31)

2014年(25)

分类: 系统运维

2017-03-15 20:49:59

1、ansible
    ansible是指令核心部分,其主要用于执行ad-hoc命令,即单条命令。默认后面需要跟主机和选项部分,默认不指定模块时,使用的是command模块。

点击(此处)折叠或打开

  1. ansible [options]
  2. -v,--verbose: 输出更详细的执行过程信息,-vvv可得到执行过程所有信息。
  3. -i PATH,--inventory=PATH: 指定inventory信息,默认/etc/ansible/hosts。
  4. -f NUM,--forks=NUM: 并发线程数,默认5个线程。
  5. --private-key=PRIVATE_KEY_FILE:指定密钥文件。
  6. -m NAME,--module-name=NAME:指定执行使用的模块。
  7. -M DIRECTORY,--module-path=DIRECTORY:指定模块存放路径,默认/usr/share/ansible,也可以通过ANSIBLE_LIBRARY设定默认路径。
  8. -a ‘ARGUMENTS’,--args=‘ARGUMENTS’:模块参数。
  9. -k,--ask-pass SSH:认证密码。
  10. -K,--ask-sudo-pass sudo:用户的密码(--sudo时使用)。
  11. -o,--one-line:标准输出至一行。
  12. -s,--sudo:相当于Linux系统下的sudo命令。
  13. -t DIRECTORY,--tree=DIRECTORY:输出信息至DIRECTORY目录下,结果文件以远程主机名命名。
  14. -T SECONDS,--timeout=SECONDS:指定连接远程主机的最大超时,单位秒。
  15. -B NUM,--background=NUM:后台执行命令,超NUM秒后中止正在执行的任务。
  16. -P NUM,--poll=NUM:定期返回后台任务进度。
  17. -u USERNAME,--user=USERNAME:指定远程主机以USERNAME运行命令。
  18. -U SUDO_USERNAME,--sudo-user=SUDO_USERNAME:使用sudo,相当于Linux下的sudo命令。
  19. -c CONNECTION,--connection=CONNECTION:指定连接方式,可用选项paramiko(SSH)、ssh、local,local方式常用语crontab和kickstarts。
  20. -l SUBSET,--limit=SUBSET:指定运行主机。
  21. -l ~REGEX,--limit=~REGEX:指定运行主机(正则)。
  22. --list-hosts:列出符合条件的主机列表,不执行任何命令。
2、ansible-doc
     用于查看模块信息。

点击(此处)折叠或打开

  1. ansible-doc [options] [module...]
  2.   -v,--version:显示工具版本号。
  3.   -h,--help:显示help说明。
  4.   -M MODULE_PATH,--module-path=MODULE_PATH:指定ansible模块的默认加载目录。
  5.   -l,--list:列出所有可用模块。
  6.   -s,--snippet:只显示playbook说明的代码段。
  7.   
3、ansible-playbook
      该指令是使用最多的指令,其通过读取playbook 文件后,执行相应的动作。

点击(此处)折叠或打开

  1. ansible-playbook
  2.   --limit:指定运行主机。
  3.     ansible-playbook test.yml --limit test    #即便test.yml中设定"hosts:all",也只对test组生效。
  4.   --list-hosts:查看执行哪些主机。
  5.     ansible-playbook test.yml --list-hosts    
  6.   --remote-user:指定用户。
  7.     ansible-playbook test.yml --remote-user=jack    #指定用户jack来执行test.yml。
  8.   --ask-sudo-pass,-K:指定密码。
  9.   --sudo:使用sudo用户。    
  10.   --sudo-user:指定sudo可执行哪个用户的权限。
  11.     ansible-playbook test.yml --sudo --sudo-user=jack --ask-sudo-pass    #指定sudo用户jack并且输入密码。
  12.   --inventory=PATH,-i PATH:指定inventory文件,默认文件是/etc/ansible/hosts。
  13.   --verbose,-v:显示详细输出,也可以使用-vvvv显示精确到每分钟的输出。
  14.   --extra-vars=VARS,-e VARS:定义在playbook使用的变量,格式为:“key=value,key1=value1”。
  15.   --forks=NUM,-f NUM:指定并发执行的任务数,默认5,根据服务器性能,调大这个值可以提高ansible执行效率。
  16.   --connection=TYPE,-c TYPE:指定连接远程主机的方式,默认为ssh,设为local时,则只在本地执行playbook,不建议修改。
  17.   --check:检测模式,playbook中定义的所有任务将在每台远程主机上进行检测,但不执行。
  18.  

4、ansible-galaxy
      用于方便的从https://galaxy.ansible.com/ 站点下载第三方扩展模块。

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参数,同样需要输入密码后才能正常执行。

阅读(171) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~