Ansible-相关工具命令ansible、ansible-doc、ad-hoc
1、ansible
1.1、作用
此工具通过 ssh 协议 ,实现对远程主机的配置管理,应用部署、任务执行等功能
1.2、ansible 命令使用格式
ansible <host-pattern> [-m module_name] [-a args]
1.3、ansible 命令常用选项说明
--version # ansible版本信息
-v # 显示详细信息
-i # 主机清单文件路径,默认是在/etc/ansible/hosts
-m # 使用的模块名称,默认使用command模块
-a # 使用的模块参数,模块的具体动作
-k # 提示输入ssh密码,而不使用基于ssh的密钥认证
-C # 模拟执行测试,但不会真的执行
-T # 执行命令的超时
--become-user # 指定sudo时的用户名称,默认为root
1.4、ansible 的 host-pattern 使用
1.4.1、指定操作所有的组
ansible all -m ping
1.4.2、通配符
ansible "*" -m ping ansible 10.0.0.* -m ping
1.4.3、与:在webservers组;并且在dbservers中的主机
ansible "webservers:&dbservers" -m ping
1.4.4、或:在webservers组,或者在appservers中的主机
ansible "webservers:appservers" -m ping
1.4.5、非:在webservers组,但不在apps组中的主机
ansible 'webservers:!apps' -m ping
1.4.6、正则表达式
ansible "~(web|db).*\.example\.com" -m ping
2、ansible-doc
2.1、查看所有的模块
ansible-doc -l
2.2、查看模块的详细文档
ansible-doc copy
2.3、查看模块的所有方法
ansible-doc -s copy
3、ansible ad-hoc
3.1、ad-hoc是什么
ad-hoc 简而言之就是 “临时命令”,执行完即结束,并不会保存;
应用场景1:查看多台节点的进程是否存在;
应用场景2:拷贝指定的文件至本地;
3.2、ad-hoc命令使用
3.2.1、命令示例
ansible 'groups' -m command -a 'df -h'
3.2.2、图解
3.3、ad-hoc执行过程
1、加载自己的配置文件,默认 /etc/ansible/ansible.cfg ; 2、查找对应的主机配置文件,找到要执行的主机或者组; 3、加载自己对应的模块文件,如 command ; 4、通过 ansible 将模块或命令生成对应的临时 py 文件,并将该文件传输至远程服务器对应执行用户 $HOME/.ansible/tmp/ansible-tmp-number/XXX.PY ; 5、执行用户家目录的 `` 文件; 6、给文件 +x 执行; 7、执行并返回结果; 8、删除临时 py 文件, sleep 0 退出;
3.4、ad-hoc执行状态
使用 ad-hoc 执行一次远程命令,注意观察返回结果的颜色;
绿色: 代表被管理端主机没有被修改
黄色: 代表被管理端主机发现变更
红色: 代表出现了故障,注意查看提示