一、Ansible的基础介绍
1、Ansible是近年比较火的一款运维自动化工具,其主要功能是帮运维实现IT工作的自动化,降低人为操作出现的失误、提高业务自动化率、提升运维工作效率,常用于软件部署自动化,配置自动化、管理自动化、持续集成等。类似的工具有Puppet、Saltstack。
2、Ansible 是个与 Puppet, SaltStack, Chef 并驾齐驱的组态设定 (Infrastructure as Code) 工具,其简单易用的特性让人爱不释手,在 DevOps 界更佔有一席之地。
3、Ansible 提供一种最简单的方式用于发布、管理和编排计算机系统的工具,你可在数分钟内搞定。
4、Ansible 是一个模型驱动的配置管理器,支持多节点发布、远程任务执行。默认使用 SSH 进行远程连接。无需在被管理节点上安装附加软件,可使用各种编程语言进行扩展。
5、ansible是一个用来批量部署远程主机上服务的工具。这里“远程主机(Remote Host)”是指任何可以通过SSH登录的主机,所以它既可以是远程虚拟机或物理机,也可以是本地主机。简要总结就是:ansible是一个用来远程管理服务器的工具软件。
6、ansible通过SSH协议实现管理节点与远程节点之间的通信。理论上来说,只要能通过SSH登录到远程主机来完成的操作,都可以通过ansible实现批量自动化操作。
7、涉及管理操作:复制文件、安装服务、服务启动停止管理、配置管理等。
二、Ansible的优缺点(优势和特点)
(1)
拥有模块化的设计,Ansible能够调用特定的模块来完成特定任务 ,本身是核心组件,短小精悍 ;
(2)
Ansible是基于Python语言实现的,由Paramiko (python 的一个可并发连接 ssh 主机功能库 ) , PyYAML和Jinja2 ( 模板化