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 执行一次远程命令,注意观察返回结果的颜色;
绿色: 代表被管理端主机没有被修改
黄色: 代表被管理端主机发现变更
红色: 代表出现了故障,注意查看提示

 

posted @ 2023-05-11 20:17  小粉优化大师  阅读(61)  评论(0编辑  收藏  举报