ansible配置
一: 添加主机
在主控制端添加需要控制的主机
vim /etc/ansible/hosts
在hosts文件最后添加需要控制主机的ip
ansible all --list #查看受控主机列表
测试添加的主机是否可用
ansible 192.168.1.83 -m ping -k
输入密码后提示如下则正常
返回‘pong’
ansible配置文件
ansible配置文件vim /etc/ansible/ansible.cfg(一般保持默认)
[defaults]
#inventory = /etc/ansible/hosts #主机列表配置文件
#library = /usr/share/my_modules/#库文件存放目录
#module_utils = /usr/share/my_module_utils/
#remote_tmp = ~/.ansible/tmp#临时py命令文件存放在远程主机的目录
#local_tmp = ~/.ansible/tmp#本机的临时命令执行目录
#forks = 5#默认并发数
#sudo_user = root#默认sudo用户
#ask_sudo_pass = True#每次执行ansible命令是否询问ssh密码
#ask_pass = True
#remote_port = 22
#log_path = /var/log/ansible.log #检查对应服务器的host_key,建议取消注释
#host_key_checking = False #日志文件,建议取消注释
二、设置基于key认证的访问
ssh-kegen
复制密钥到受控主机
ssh-copy-id 192.168.1.83
ssh-copy-id 192.168.1.84
ssh-copy-id 192.168.1.85
三、ansible命令执行过程
1、加载自己的配置文件,默认/etc/ansible/ansible.cfg
2、加载自己对应的模块文件,如cmmand
3、通过ansible将模块命令生成对应的临时py文件,并将该文件传输至远程服务器的对应执行用户$HOME/.ansible/tmp/ansible-tmp-数字/xxx.py文件
4、给文件+x执行
5、执行并返回结果
6、删除临时py文件,sleep 0退出
执行状态:
绿色:执行成功并且不需要做改变的操作
黄色:执行成功工并且对目标主机做变更
红色:执行失败