VPS测评 VPS推荐 VPS优惠
Linux运维

Ansible相关工具和命令用法

Ansible包自带了很多有用工具,分别有着不同的功能

  • /usr/bin/ansible 主程序,临时命令执行工具
  • /usr/bin/ansible-doc 查看配置文档,模块功能查看工具,相当于man
  • /usr/bin/ansible-playbook 定制自动化任务,编排剧本工具,相当于脚本
  • /usr/bin/ansible-pull 远程执行命令的工具
  • /usr/bin/ansible-vault 文件加密工具
  • /usr/bin/ansible-console 基于Console界面与用户交互的执行工具
  • /usr/bin/ansible-galaxy 下载/上传优秀代码或Roles模块的官网平台

ansible-doc

此工具用来显示模块帮助,相当于man

ansible-doc [options] [module...]
-l, --list #列出可用模块
-s, --snippet #显示指定模块的playbook片段

用法

ansible-doc -l    #列出所有模块
ansible-doc ping  #查看指定模块的帮助
ansible-doc -t connection -l    #查看指定的插件

ansible

Ansible Ad-Hoc 的执行方式的主要工具就是 ansible

ansible <host-pattern> [-m module_name] [-a args]

选项

--version #显示版本
-m module #指定模块,默认为command
-v #详细过程 -vv -vvv更详细
--list-hosts #显示主机列表,可简写 --list
-C, --check #检查,但不执行
-T, --timeout=TIMEOUT #执行命令的超时时间,默认10s
-k, --ask-pass #提示输入ssh连接密码,默认Key验证
-u, --user=REMOTE_USER #执行远程执行的用户,默认root
-b, --become #代替旧版的sudo切换
--become-user=USERNAME #指定sudo的runas用户,默认为root
-K, --ask-become-pass #提示输入sudo时的口令
-f FORKS, --forks FORKS #指定并发同时执行ansible任务的主机数

Host-pattern

用于匹配被控制的主机的列表

all

所有的Inventory中的所有主机

ansible all -m ping

通配符*

ansible "*" -m ping
ansible 192.168.1.* -m ping

或关系

ansible "webservers:appservers" -m ping
ansible "192.168.1.10:192.168.1.20" -m ping

逻辑与

ansible "webservers:&dbservers" -m ping

逻辑非

ansible 'webservers:!dbservers' -m ping

正则表达式(~开头)

ansible "~(web|db).*\.frogvps\.com" -m ping

ansible命令的执行过程

  1. 加载自己的配置文件,默认/etc/ansible/ansible.cfg
  2. 加载自己对应的模块文件,如:command
  3. 通过ansible将模块或命令生成对应的临时py文件,并将该文件传输至远程服务器的对应执行用户
    $HOME/.ansible/tmp/ansible-tmp-数字/XXX.PY文件
  4. 给文件加执行权限(+x)
  5. 执行并返回结果
  6. 删除临时py文件,退出

ansible 的执行状态

  • 绿色:执行成功并且不需要做改变的操作
  • 黄色:执行成功并且对目标主机做变更
  • 红色:执行失败

ansible-console

此工具可交互执行命令

提示符

执行用户@当前操作的主机组 (当前组的主机数量)[f:并发数]$

子命令

forks n #设置并发数
cd group #切换到group组
list #列出当前组的所有主机
?|help #查看帮助

ansible-playbook

此工具用于执行编写好的 playbook 任务

ansible-playbook xxx.yml

ansible-vault

此工具可以用于加密解密yml文件

ansible-vault [create|decrypt|edit|encrypt|rekey|view]

范例

ansible-vault encrypt xxx.yml #加密
ansible-vault decrypt xxx.yml #解密
ansible-vault view xxx.yml #查看
ansible-vault edit xxx.yml #编辑加密文件
ansible-vault rekey xxx.yml #修改口令
ansible-vault create xxx.yml #创建新文件

ansible-galaxy

Galaxy 是一个免费网站,类似于github网站, 网站上发布了很多的共享的roles角色

未经允许不得转载:青蛙主机 » Ansible相关工具和命令用法

VPS相关常用工具

PING测试工具自用毛子接码站