ansible安装
yum -y install epel-release
yum install -y ansible
‘’’
配置文件
/etc/ansible/ansible.cfg 主配置文件,配置ansible工作特性(一般无需修改)
/etc/ansible/hosts 主机清单(将被管理的主机放到此文件)
/etc/ansible/roles/ 存放角色的目录
程序
/usr/bin/ansible 主程序,临时命令执行工具
/usr/bin/ansible-doc 查看配置文档,模块功能查看工具
/usr/bin/ansible-galaxy 下载/上传优秀代码或Roles模块的官网平台
/usr/bin/ansible-playbook 定制自动化任务,编排剧本工具
/usr/bin/ansible-pull 远程执行命令的工具
/usr/bin/ansible-vault 文件加密工具
/usr/bin/ansible-console 基于Console界面与用户交互的执行工具
‘’’
主机详细配置:
- 修改ansible.cfg文件
vim /etc/ansible/ansible.cfg
需要手动添加三行:(sudo用户、不检查key、日志存放路径)
default_sudo_user = root
host_key_checking = False
log_path = /var/log/ansible.log
需要取消三行注释:
- 主机资源配置(需要管理的机器)
现在将要ansible的客户机的ip加入列表:
vim /etc/ansible/hosts
进入以后将需要的客户机ip以及账号密码加入到最底部
172.16.6.128:22 ansible_ssh_user=root ansible_ssh_pass='123456'
注意:如果需要管理很多客户机,直接换行进行添加即可
- 查看管理客户机ip列表
//查看全部客户机
ansible all --list-hosts 或者 ansible all --list
- 测试是否ping通(如果显示红色字体证明无法连通)
//测试所有客户机是否连通
ansible all -m ping
//测试指定客户机ip是否连通
ansible 172.16.6.128 -m ping
注意:如果在主机配置hosts中没有添加主机账号以及密码,需要添加-k参数
ansible 172.16.6.128 -m ping -k
根据提示输入密码即可(如果提示绿色字体则证明没有问题)
- 测试执行ls命令
ansible 172.16.6.128 -m shell -a ls
(ansible 172.16.6.128 -a "ls")
(提示黄色字体并显示ls命令执行后返回的结果)
执行客户机上的shell脚本:
客户机shell脚本位置;
/etc/ansible/test.sh
创建成功后需要添加可执行权限:
chmod +x test.sh
在主机上执行:
ansible 172.16.6.128 -m shell -a "/etc/ansible/test.sh"
copy:
ansible all -m copy -a "src=/root/love.py dest=/home/"
src:主机目录
dest:客户机目录
将主机下的love.py文件复制到所有的客户机/home/目录下
(批量进行操作)
小结:
如果需要对很多台机器重复操作,
可以直接在主机上配置好所有客户机的ip、账号、密码
写好shell脚本(准确无误),然后执行脚本就可以了
特别适用于批量安装一些依赖包的时候
ansible webservers -m yum -a "name=httpd state=latest"
ansible webservers -m yum -a "name=httpd state=absent" !删除包