ansible基本使用方法
一、ansible的运行流程
ansible是基于ssh模块的软件,所以主控端和被控端的ssh服务必须正常才能保证ansbile软件的可用性。
检查ssh服务是否正常: systemctl status sshd
1. 加载自己的配置文件
2. 加载对应模块,如command、shell...
3. 生成可执行py文件,并拷贝到被控端/$HOME/.ansible/tmp/ansible-tmp-数字/xxx.py
4. 给文件加+x
5. 执行并返回结果
6. 删除临时py文件,sleep 0退出
二、基本使用:
1. 首先需要将被控端的IP配置在ansible的主机配置文件中:/etc/ansible/hosts ,下面介绍常用的配置方法:
#独立ip
172.17.0.1
#分组ip
[docker]
172.17.0.2
172.17.0.3
#正则匹配
www[001:006].example.com
默认的配置文件中介绍了很多相应的主机列表配置方法,可以参考。
2. 配置好被控端的IP之后,就可以开始执行命令了
ansible docker -m ping #ping docker组下的所有主机
如果没有建立信任关系,最好使用-u指定用户登陆执行命令,-k 表示在按下回车键之后需要输入对应用户的密码:
ansible 172.17.0.1 -m shell -a "ls /tmp" -u maple -k
如果已经建立了信任关系,则可以:
ansible 172.17.0.1 -m shell -a "ls /tmp"
172.17.0.1表示被控端的ip, 这里也可以写docker来表示docker组下的所有的host主机,同时这里也可以使用正则表达式语法来匹配你所需要执行命令的主机
-m 后面需要跟执行模块常用的模块,常用模块有command/shell/copy/file/user...
-u 被控端执行用户
-k 以key的方式登陆
-v 显示执行过程 -vv -vvv 执行过程详细程度依次增加