在ansible中主控机器必须是linux机器,不可以是windows,但是被控机器可以是windows。
control machine:192.168.184.128
target machine:192.168.184.129(被管理机器上不需要安装什么软件)
1.ansible的安装前提是要有python,而一般的linux中都安装了python,所以我们可以检验一下是否安装了python:
2.在control machine上安装ansible:
[root@localhost wyh]# yum install -y ansible
安装好之后检验:
3.查看ansible安装的目录结构:
ansible.cfg:主配置文件
主配置文件中一般保持默认配置即可,建议将下面两个配置项取消注释:
# uncomment this to disable SSH key host checking
host_key_checking = False
logging is off by default unless this path is defined
if so defined, consider logrotate
log_path = /var/log/ansible.log //该文件会自动生成,不需要手动创建
hosts:被管理的主机清单
roles:由于在ansible中主要通过playbook实现我们对被控制机器的一些操作,那这其中的操作逻辑如果较多的时候,我们就可以分成多个playbook进行操作。这些playbook就放在roles目录下。
4.在hosts文件中添加要被管理的主机ip:
这里的机器可以分组也可以不分组。
5.为了避免使用SSH连接时要重复输入密码,我们可以生成公钥:
[root@localhost ansible]# ssh-keygen -t rsa
中间出现的输入状态我们都直接回车即可:
6.使用命令将生成的公钥分发给被管理的机器上:
[root@localhost ansible]# ssh-copy-id -i root@192.168.184.129 #@后面跟的是被管理机器ip
7.测试是否能连接到被管理机器上:
测试成功。
注意:在使用ansible去连接被控机器时,你在主控机器上使用什么用户执行ansible命令,那么就会以该用户去连接被控机器。所以这里就会使用root账户去连接被控机器。