简介
Ansible 是新出现的自动化运维工具,基于Python开发,集合了众多运维工具( puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible 只需要在一台普通的服务器上运行即可,不需要在服务器上安装客户端,因为Anisble是基于ssh远程管理,而Linux服务器大都离不开SSH,所以Ansible不需要为配置工作添加额外的支持。
Ansible安装使用非常简单,erqie基于上千个插件和模块实现各种软件、平台、版本的管理,支持虚拟容器多层级的部署。很多用户觉得ansible 比saltstack的执行效率慢,其实不是软件本身慢,是由于SSH服务满,可以优化SSH连接速度以及使用Ansible加速模块,满足企业上万台服务器的维护和管理。
安装
1. 安装epel 扩展源
yum install epel-release
2. 安装ansible,安装目录一般默认在/etc下面
yum install ansible
3. 查看ansible 相关插件
ansible-doc -l
4. 定义主机群组
在/etc/ansible/hosts 配置文件中添加主机群组
5. Ansible 远程操作命令
Ansible 远程批量管理,其中执行命令是通过Ad-Hoc来完成,能够快速执行点对点单条执行命令,Ansible 常用命令模块有 ping 、shell、command、copy 等模块。
ping 模块 #测试远程主机的运行状态
命令示例: ansible web -m ping
copy 模块 # 复制文件到远程主机
命令示例: ansible web -m copy -a "src=/opt/app/test.log dest=/opt/app owner=root group=root mode=0744"
shell 模块 # 在远程主机上执行命令
命令示例: ansible web -m shell -a " sh /root/test.sh"
service 模块 # 管理远程主机上的服务
命令示例:ansible web -m service -a "name=nginx state=started"