一、Ansible的安装
1.基础环境:两台虚拟机 ansible-test1:192.168.100.15
ansible-test2:192.168.100.16 //虚拟机均为centos7系统
设置主机名:# hostnamectl set-hostname ansible-test1
(1)两台虚拟机都关闭防火墙和SELinux
# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
# vi /etc/selinux/config //修改配置文件,将enforcing改为disabled
(2)修改/etc/hosts配置文件,添加两台主机的IP和主机名
# vi /etc/hosts
2.安装ansible
(1)只在ansible-test1上安装ansible。
(2) 安装epel仓库 //这里使用网络源进行安装
# dhclient
# yum install epel-release -y
(3)用yum安装ansible
# yum install -y ansible
(4)安装成功后检查ansible版本
# ansible --version
3.免密配置
anisble-01上生成密钥对ssh-keygen -t rsa,把公钥放到anisble-02上,设置密钥认证。
# ssh-keygen -t rsa //免密配置:
- 提高安全性:虽然 Ansible 支持使用密码进行连接,但这意味着每次执行任务时都需要输入密码或在配置中明文保存密码,这对于大规模管理和自动化操作来说很不方便,同时也降低了系统的安全性。使用 SSH 公钥认证可以避免频繁输入密码,且不需要在配置文件中储存密码。
- 自动化流程:Ansible 的设计思想是无需人工干预的自动化运维,如果每次连接目标主机都需要输入密码,自动化流程将无法连续执行。SSH 公钥认证允许 Ansible 通过预先配置好的公钥私钥对自动登录到目标主机,无需人工参与。
- 批量操作高效性:在处理大量主机时,尤其是执行 playbook 时,如果每台主机都要输入密码,操作效率极其低下。配置免密登录可以极大提升 Ansible 对多台主机进行批量操作的效率。
# ssh 192.168.100.16 //进行验证 远程连接到第二台虚拟机,exit退出。
4.主机组设置
在/etc/ansible/hosts文件中添加本机和另一台机器的IP
# vi /etc/ansible/hosts
// testhost为自定义的主机组名字,下面两个IP为组内的机器IP。
至此ansible安装完成!!