001. Ansible简介
一 简介
Ansible是一款极其简单的自动化运维工具, 基于Python开发, 集合了众多运维工具(puppet, cfengine, chef, func, fabric)的优点。 实现了批量系统配置, 批量程序部署, 批量运行命令等功能。
Ansible是基于模块工作的, 本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块, Ansible只是提供一种框架。主要包括:

- Play books:任务剧本(任务集),编排定义Ansible任务集的配置文件,由Ansible依次执行多个任务,通常是JSON格式的YML文件;
- Host inventory: Ansible管理主机的清单,指定操作的主机, 是一个配置文件里面定义监控的主机;
- Modules:各种模块核心模块, command模块等,也包括自定义模块;
- Connection plugins: 负责和被监控端实现通信;
- Plugins:模块功能的补充,如连接类型插件、循环插件、变量插件等,可借助于插件完成更丰富的功能。
二 工作机制
用户使用Ansible或Playbook,在服务器中断输入Ansible的Ad-Hoc命令集或Playbook;- Ansible遵循预先编排的规则将Playbooks逐条拆解为Play;
- Play组织成Ansible可识别的任务(Task);
- Task会调用任务所涉及的所有模块(Module)和插件(Plugin);
- 读取Inventroy中定义的主机列表;
- 通过SSH认证(默认)将任务集以临时文件或命令的形式传输到远程客户端执行并返回执行结果。
三 特性
- no agents: 不需要在被管控主机上安装任何客户端,只需SSH、Python即可,建议Python版本为2.6.6以上;
- no server: 无服务器端, 使用时直接运行命令即可;
- modules in any languages: 基于模块工作, 丰富的内置模块,可使用任意语言开发模块;
- yaml, not code: 使用yaml语言定制剧本playbook,易于管理,API简单明了;
- ssh by default: 基于SSH工作,整个过程简单、方便、安全,建议使用公钥方式认证;
- strong multi-tier solution: 可实现多级指挥。
四 优点
(1).轻量级, 无需在客户端安装agent, 更新时只需在操作机上进行一次更新即可;
(2).批量任务执行可以写成脚本, 而且不用分发到远程就可以执行;
(3).使用python编写, 维护更简单, ruby语法过于复杂;
(4).支持sudo。
五 应用场景
5.1 操作角度划分
- 文件传输:文件的本地传输和异地传输,所有文件的空间形态、时间形态变化均构成文件传输类操作;
- 命令执行:终端所有操作对系统来说都是指令的组成,对运维操作的用户行为来说,除文件传输以外的其他操作均可称为命令操作。
5.2 工作类型划分
- 应用部署
- 配置管理
- 任务流编排
001. Ansible简介的更多相关文章
- 001.Ansible简介与基本安装
一 自动化运维 1.1 运维的自动化发展历程 IAAS:infratructure as a Service PAAS:platform as a Service 平台及服务 SAAS:softwar ...
- 批量搞机(一):ansible简介、ansible安装
一.ansible简介 Ansible是2013年推出的一款IT自动化和DevOps软件,目前由Redhat已签署Ansible收购协议.其是基于Python研发,糅合了很多老运维工具的优点实现了批量 ...
- ansible简介安装配置
ansible简介 ansible是一款,自动化运维管理工具.顾名思义是用于批量去管理及安装服务及批量管理主机. ansible与saltstack对比 ansible优点:配置简单,部署容易除主管理 ...
- Ansible简介及常用模块
一.基础介绍 1.简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置. ...
- Ansible - 简介和应用自动化基础实践
installAnsible简介和应用自动化基础实践 一.引入: 1.1 如官方定义,Ansible is The simplest way to automate apps and IT infr ...
- Ansible 简介
Ansible 是一个开源的基于 OpenSSH 的自动化配置管理工具.可以用它来配置系统.部署软件和编排更高级的 IT 任务,比如持续部署或零停机更新.Ansible 的主要目标是简单和易用,并且它 ...
- 1、Ansible简介及简单安装、使用
参考Ansible权威指南:https://ansible-tran.readthedocs.io/en/latest/index.html 以下内容学习自马哥教育 Ansible: 运维工作:系统安 ...
- Ansible简介
概述 Ansible是一种自动化运维管理工具,无需安装客户端,通过SSH协议与节点通信. 架构 由上图可以看出Ansible由5个部分组成 Ansible:核心 Inventory:定义管理主机的清单 ...
- 1. Ansible 简介
目录 1. Ansible 是什么? 2. Ansible 特性 3. 控制主机需求 4. 被管理节点需求 1. Ansible 是什么? Ansible 是一个配置管理系统(configuratio ...
随机推荐
- java怎样将一组对象传入Oracle存储过程
注:本文来源 < java怎样将一组对象传入Oracle存储过程 > java怎样将一组对象传入Oracle存储过程 java怎样将一组对象传入Oracle存储过程.须要注意的是jar ...
- day05流程控制while循环 流程控制for循环
1.什么是循环:循环就是重复做某事 2.为何要有循环:为了计算机能够具备人重复做某事的能力 3,.如何用循环: 1.结束while循环的两种方法:1.修改条件:等到下一次循环开始时判断,条件为假才会结 ...
- exec与match方法的区别
http://www.cnblogs.com/xiehuiqi220/archive/2008/11/05/1327487.html var someText= "web2.0 .net2. ...
- 五.ssh远程管理服务
01. 远程管理服务知识介绍 1) SSH远程登录服务介绍说明 SSH是Secure Shell Protocol的简写,由 IETF 网络工作小组(Network Working Group)制定: ...
- 雅礼 noip2018 模拟赛 day3 T3
典型树形dp 这里,我们应该看到一些基本性质: ①:如果这个边不能改(不是没有必要改),我们就不改,因为就算改过去还要改回来,显然不是最优的 注意:"不能改"是指边的性质和要求的相 ...
- Loadrunner常用目录、组成部分及负载测试流程
常用目录 bin:存放一些可执行程序 classes:可能用到的jar包 My Template:存放一些自己创建的模板 include:头文件(可以编写自定义函数,保存成.h的头文件形式并放在这个目 ...
- vue用webpack打包时引入es2015插件
1.安装依赖包 $ npm install --save-div babel-preset-es2015 ps:babel-loader.babel-core应该是默认装好的,如果没有安装,请重新安装 ...
- Lazy<T> 延迟加载
namespace ConsoleAppTest { class Program { static void Main(string[] args) { Lazy<Student> stu ...
- maven安装和eclipse集成
maven作为一个项目构建工具,在开发的过程中很受欢迎,可以帮助管理项目中的bao依赖问题,另外它的很多功能都极大的减少了开发的难度,下面来介绍maven的安装及与eclipse的集成. maven的 ...
- Chino的数列
题解: 一道练代码能力的题目.. 首先很显然他是一道平衡树裸题 第5个操作是势能分析维护最大值最小值就可以了 另外设置虚点和noip2017队列那题一样(不过我只写过线段树) 具体细节: 1.内存池, ...