美文网首页
Ansible命令用法详解(4)

Ansible命令用法详解(4)

作者: wangfs | 来源:发表于2017-07-27 22:13 被阅读60次

    概述:Ansible命令行执行方式有Ad-Hoc、Ansible-playbook两种方式,web化执行方式其官方提供了付费产品Tower(10台以内免费),个人的话可以基于其提供的API开发类似的web化产品(可以看出会一门开发语言是多么的重要,学好python吧)。两种执行方式没有本质上的区别,Ad-Hoc主要用于临时命令的执行,Ansible-playbook可以理解Ad-Hoc的集合,通过一定的规则编排在一起。两者的操作也及其简单,且提供了如with_items、failed_when、changed_when、until、ignore_errors等丰富的逻辑条件和Dry-run的Check Mode。但在Check Mode下并不真正执行命令,即将执行的操作不会对服务器端(被控端)产生任何影响,只模拟命令的执行过程是否能正常执行。

    ansible的命令格式如下:

    ansible <host_pattern> [options]
    <host-pattern>是Inventory中定义的主机或主机组,可以为IP、hostname、Inventory中的gorup组名、具有"."或"*"或":"等特殊字符的匹配型字符串,<>表示该选项是必须项,不可省略。
    [options]是ansible的参数选项,[]表示该选项中的参数任选其一。
    ansible命令可用选项非常多,这里列举如下会用到的选项。

    • -m NAME, --module-name=NAME: 指定执行使用的模块。
    • -u USERNAME, --user=USERNAEM: 指定远程主机以USERNAME运行命令。
      -s, --sudo: 相当于Linux系统下的sudo命令
      -U SUDO_USERNAEM, --sudo-user=SUDO_USERNAME: 使用sudo,相当于Linux下的sudo命令

    //以bruce用户执行ping存活检测
    ansible all -m ping -u bruce
    //以bruce sudo至root执行ping存活检测
    ansible all -m ping -u bruce --sudo
    //以bruce sudo 至batman用户执行ping存活检测
    ansible all -m ping -u bruce --sudo --sudo-user batman

    但是在新版本中ansible的sudo命令被废弃,改为--become或-b,如上命令需改为如下:
    //以bruce sudo至root执行ping存活检测
    ansible all -m ping -u bruce -b
    //以bruce sudo 至batman用户执行ping存活检测
    ansible all -m ping -u bruce -b --become-user batman

    相关文章

      网友评论

          本文标题:Ansible命令用法详解(4)

          本文链接:https://www.haomeiwen.com/subject/hjmtlxtx.html