最近,有很多的网工跟我咨询一个问题, Ansible是什么,Ansible能做什么,我们该如何安装部署?
首先回答第一个问题,关于 Ansible是什么,Ansible 是新出现的自动化运维工具,基于 Python 开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等等功能。
举个例子:
# 查看CPU 占用率的统计信息
display cpu-usage
# 查看内存的使用状态
display memory-usage
# 查看电源的工作状态
display power
# 查看接口是否工作在正常状态
display error-down recovery
# 查看VRRP的工作状态
display vrrp brief
# 查看NTP的工作状态
display ntp status
# 查看用户上线失败记录信息
display aaa online-fail-record
# 查看设备中的历史告警信息
display alarm history
以上是我们查看设备关键信息的常用命令,查看一台,可能还好,如果是100台,1000台呢?那我们是不是要重复执行100次、1000次?那可能我们这几天啥也不用干了!
Ansible就是一款自动化工具,通过一个命令完成一系列的操作,进而能减少重复性的工作和维护成本!
为了网工更高效工作,因此,就有了Ansible,一款自动化运维工具,通过一个命令完成一系列的操作,进而能减少重复性的工作和维护成本!
下面给大家简单说说Ansible的优点:
(1).轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可;
(2).批量任务执行可以写成脚本,而且不用分发到远程就可以执行;
(3).使用python编写,维护更简单,ruby语法过于复杂;
(4).支持sudo。
(Ansible架构图)
关于第二个问题,Ansible能做什么,除了上述文章中提到的安装nginx,比如将某个文件一次性拷贝到100台服务器上,再比如:每当有新服务器加入工作环境时,你都要为新服务器部署某个服务,也就是说你需要经常重复的完成相同的工作。
这些场景中我们都可以使用到Ansible,Ansible能够高效的为你解决重复性的工作