ansible简介
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
ansible是基于 paramiko 开发的,并且基于模块化工作,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯的。
ansible目前已经已经被红帽官方收购,是自动化运维工具中大家认可度最高的,并且上手容易,学习简单。是每位运维工程师必须掌握的技能之一。
| 控制端 | centos7 | 192.168.254.228 |
| 被控端 | centos7 | 192.168.254.226 |
| 被控端 | centos7 | 192.168.254.227 |
在控制端上搭建ansible
如果嫌麻烦可以去我写的脚本版搭建 传送门
首先要确保本机安装的是 Python 2.6 或者 Python 2.7 版本
使用命令查看版本
python -V

安装ansible
#
yum install epel-release -y
yum install -y ansible
在/etc/ansible/hosts文件末尾添加被管理主机
vim /etc/ansible/hosts
[web] #自定义组名,要写在括号中
192.168.254.226
192.168.254.227

[web]是一个组可以自定义,下面是web组包含的主机
在控制端主机生成密钥对,一直按回车即可
ssh-keygen -t rsa

把生成的密钥对发送给被控端主机,发送时会让你输入被控端主机的密码
ssh-copy-id 192.168.254.226
ssh-copy-id 192.168.254.227

验证
#查看两台主机的IP,查看web组中主机的IP
ansible web -m command -a 'ifconfig ens33'

-m #是需要调用的模块,如上面就是调用的command命令模块,也可以调用其他模块如shell模块:-m shell,默认使用 command 模块
-a #是你要执行的命令要用单引号括起来,如果调用的shell模块则可以使用通配符
-C #模拟运行环境并进行预运行,可以进行查错测试
-v #查看详细信息,同时支持-vvv,-vvvv可查看更详细信息
本文介绍了Ansible自动化运维工具的基础概念,演示了如何在CentOS上搭建并配置,包括添加主机、生成密钥对、验证连接。重点讲解了其模块化工作原理和常用模块的使用方法。
2758

被折叠的 条评论
为什么被折叠?



