Ansible批量自动化运维工具安装配置
本次安装基于CentOS7系统环境、Python2.7.5、root用户
ansible server: 192.168.1.64
host-1: 192.168.1.118
1. 临时关闭selinux
setenforce 0 // 临时关闭selinux
sed -i 's/\(SELINUX=\).*/\1disabled/' /etc/selinux/config //永久关闭
2. 安装
yum -y install epel-release ansible
3. 添加管理主机
/etc/ansible/hosts //IP地址追加到文件中,每行一个IP
为方便管理,最好是分类,比如:
[web]
192.168.1.118
[db]
192.168.1.x
4. 配置免密码SSH登陆
1. 在主控server上生成ssh密钥对:
ssh-keygen -t rsa //一路回车即可,完成后会在$HOME/.ssh目录下生成id_rsa和id_rsa.pub私钥和公钥两个文件
如果在生成密钥的时候设置了密码,ansible每次执行命令的时候,都会提示输入密钥密码,可通过下面的命令记住密码:
ssh-agent bsh
ssh-add ~/.ssh/id_rsa
2. 将公钥拷贝到 host-1 的 .ssh/authorized_keys文件中
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.118
// ssh-copy-id 命令会自动将id_rsa.pub文件的内容追加到远程主机root用户下.ssh/authorized_keys文件中
如果服务器比较多,可以通过sshpass 命令避免输入密码操作(yum -y install sshpass):
sshpass -p '密码' ssh-copy-id -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no root@192.168.1.x
sshpass -p '密码' ssh-copy-id -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no root@192.168.1.x
sshpass -p '密码' ssh-copy-id -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no root@192.168.1.x
5. ansible配置
/etc/ansible/ansible.cfg
1. 禁用每次执行ansbile命令检查ssh key host
host_key_checking = False
2. 开启日志记录
log_path = /var/log/ansible.log
3. ansible连接加速配置
accelerate_port = 10000
accelerate_multi_key = yes
4. 禁掉友情提示
deprecation_warnings = False
6. 测试
ansible web -m command -a 'df -lh'
至此安装配置完成!
