Ansible安装配置总结
1、安装Ansible
1.1、ansible服务器配置阿里云YUM源及阿里云EPEL源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
1.2、安装Ansible
yum install -y ansible
1.3、确认安装
ansible --version
1.4、修改Ansible配置文件,开启操作日志、关闭公钥认证
sed -i "s/.*log_path/log_path/g" /etc/ansible/ansible.cfg
sed -i "s/.*host_key_checking/host_key_checking/g" /etc/ansible/ansible.cfg
2、配置Ansible主机清单(Inventory)
2.1、配置服务器“/etc/hosts”域名解析
cat >> /etc/hosts <<EOF
192.168.150.153 ansible
192.168.150.154 node1
192.168.150.155 node2
192.168.150.156 node3
EOF
2.2、配置Ansible主机清单“/etc/ansible/hosts”
cat >> /etc/ansible/hosts <<EOF
[websrvs]
node1
node2
[dbservs]
node1
node3
[appsrvs]
node[1:3]
EOF
2.3、列出Ansible主机清单中的所有主机
ansible all --list
3、优化被管理的主机的SSH配置
sed -i "s/.*UseDNS.*/UseDNS no/g" /etc/ssh/sshd_config
sed -i "s/.*GSSAPIAuthentication yes/GSSAPIAuthentication no/g" /etc/ssh/sshd_config
systemctl restart sshd.service
4、配置免密登录
4.1、Ansible主机生成公钥和私钥
ssh-keygen -t rsa -b 2048 -P "" -f /root/.ssh/id_rsa
4.2、使用authorized_key模块批量上传公钥至被管理服务器
ansible all -m authorized_key -a "user=root key='{{lookup('file','/root/.ssh/id_rsa.pub')}}' path='/root/.ssh/authorized_keys' manage_dir=no" -k -c paramiko
4.3、使用ping模块测试免密登录
ansible all -m ping
Ansible配置文件
路径 | 作用 |
---|---|
/etc/ansible/ansible.cfg | 主配置文件,配置ansible工作特性 |
/etc/ansible/hosts | 主机清单 |
/etc/ansible/roles/ | 存放角色的目录 |
Ansible程序
路径 | 作用 |
---|---|
/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界面与用户交互的执行工具 |
相关命令
命令 | 作用 |
---|---|
rpm -ql ansible | 列出ansible所有的文件 |
rpm -qc ansible | 列出ansible配置文件 |
ansible --help | 查看Ansible帮助 |
ansible-doc -l | 查看Ansible文档列表 |
ansible-doc -s yum | 查看Ansible关于yum模块的简洁帮助文档 |