ansible是是一个"配置管理工具",它是一个"自动化运维工具",是运维人员的瑞士军刀,可以帮助我们完成一些批量工作或者重复性工作,ansible通过ssh管理其他受管主机,并且具有一些特性,比如幂等性、剧本、模板,角色等
我的测试环境是两台CentOS7虚拟机,主机一:192.168.80.133,主机二:192.168.80.135
首先在自己的虚拟机上安装配置yum源,示例:
#cd /etc/yum.repos.d/
#vim /etc/yum.repos.d/aliBase.repo
#以下是配置yum源
[Base]
name=aliBase
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-$releasever
# cat aliEpel.repo
[aliEpel]
name=aliEpel
baseurl=https://mirrors.aliyun.com/epel/$releasever\Server/$basearch/
enabled=1
gpgcheck=0
在两台虚拟机上都要配置yum源,然后执行
yum install -y ansible
安装完成
进行测试,首先要在主机一写上主机二的IP,同理,主机二也要写上主机的IP
#vim /etc/ansible/hosts
192.168.80.135 ansible_port=22 ansible_user=root ansible_ssh_pass=123456
然后进行测试
结果像下面即可
ansible 192.168.80.135 -m ping
补充:
为了更加方便的使用,ansible还支持对主机添加别名,当主机存在别名时,我们可以通过主机的"别名"管理对应主机。我们都知道,创建ssh连接时,可以基于密码进行认证,也可以基于密钥进行认证,而在生产环境中,为了提高安全性,我们通常会基于密钥进行ssh认证,甚至会禁用密码认证,并且输入密码和主机太繁琐了,可以生成密钥管理
ssh-keygen
按回车键,yes,生成的密钥默认存放就行了,默认放在/root/.ssh/下,可以进去查看
cd /root/.ssh/
ls
第一个横线的是私钥,第二个是公钥,我们要把公钥互相发送给对方
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.80.135
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.80.133
然后输入密码进行验证,公钥认证的相关操作配置完成,此刻,我们已经可以通过ansible主机免密码连接到主机二中了。
最后再在配置清单文件中修改配置文件
vim /etc/ansible/hosts
#添加管理别名 主机 端口号
test01 ansible_host=192.168.80.135 ansible_port=22
#如果有多个主机管理,添加分组即可,分组也可以多个
#例
#[test01]
#192.168.80.133
#192.168.80.136
#192.168.80.123
#[test02]
#192.168.80.152
#
进行测试,效果如下
小白初学,感兴趣的可以一起交流啊