一 简介

Ansible是一款极其简单的自动化运维工具, 基于Python开发, 集合了众多运维工具(puppet, cfengine, chef, func, fabric)的优点。 实现了批量系统配置, 批量程序部署, 批量运行命令等功能。

Ansible是基于模块工作的, 本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块, Ansible只是提供一种框架。主要包括:

  1. Play books:任务剧本(任务集),编排定义Ansible任务集的配置文件,由Ansible依次执行多个任务,通常是JSON格式的YML文件;
  2. Host inventory: Ansible管理主机的清单,指定操作的主机, 是一个配置文件里面定义监控的主机;
  3. Modules:各种模块核心模块, command模块等,也包括自定义模块;
  4. Connection plugins: 负责和被监控端实现通信;
  5. Plugins:模块功能的补充,如连接类型插件、循环插件、变量插件等,可借助于插件完成更丰富的功能。

二 工作机制

  1. 用户使用Ansible或Playbook,在服务器中断输入Ansible的Ad-Hoc命令集或Playbook;
  2. Ansible遵循预先编排的规则将Playbooks逐条拆解为Play;
  3. Play组织成Ansible可识别的任务(Task);
  4. Task会调用任务所涉及的所有模块(Module)和插件(Plugin);
  5. 读取Inventroy中定义的主机列表;
  6. 通过SSH认证(默认)将任务集以临时文件或命令的形式传输到远程客户端执行并返回执行结果。

三 特性

  1. no agents: 不需要在被管控主机上安装任何客户端,只需SSH、Python即可,建议Python版本为2.6.6以上;
  2. no server: 无服务器端, 使用时直接运行命令即可;
  3. modules in any languages: 基于模块工作, 丰富的内置模块,可使用任意语言开发模块;
  4. yaml, not code: 使用yaml语言定制剧本playbook,易于管理,API简单明了;
  5. ssh by default: 基于SSH工作,整个过程简单、方便、安全,建议使用公钥方式认证;
  6. strong multi-tier solution: 可实现多级指挥。

四 优点

(1).轻量级, 无需在客户端安装agent, 更新时只需在操作机上进行一次更新即可;

(2).批量任务执行可以写成脚本, 而且不用分发到远程就可以执行;

(3).使用python编写, 维护更简单, ruby语法过于复杂;

(4).支持sudo。

五 应用场景

5.1 操作角度划分

  • 文件传输:文件的本地传输和异地传输,所有文件的空间形态、时间形态变化均构成文件传输类操作;
  • 命令执行:终端所有操作对系统来说都是指令的组成,对运维操作的用户行为来说,除文件传输以外的其他操作均可称为命令操作。

5.2 工作类型划分

  1. 应用部署
  2. 配置管理
  3. 任务流编排

转载于:https://www.cnblogs.com/itzgr/p/10297231.html

001. Ansible简介相关推荐

  1. Ansible简介及各模块用法实操

    目录 一,Ansible简介及工作原理过程 1,简介 2,工作原理过程 二,基础坏境配置 1,安装 ​2,ssh配置 三,Ansible入门及常用模块用法 1,静态资产 2,自定义动态资产 3,使用资 ...

  2. Ansible简介及常用模块

    一.基础介绍 1.简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置. ...

  3. 【编撰】Directfb 深入 001 初始化简介 01

    Franklin 只是对排版做了优化,然后对笔者自己实践的地方,[]加了更多的解释和注释. 全文转载:DFB初始化简介 地址:http://blog.csdn.net/acs713/article/d ...

  4. [云计算] 001.云计算简介

    1.简介 云计算平台也称为云平台.云计算平台可以划分为3类:以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台. 2.目前的开源的云平台 (1)Abi ...

  5. ansible 简介

    Ansible是一种常用的自动运维化工具,基于python开发,分布式,无需客户端,轻量级,配置语言采用YAML. Ansible的特性: 1.模块化:调用特定的模块,完成特殊的任务. 2.Param ...

  6. LTspice基础教程-001.软件简介与安装

    接触并使用LTspice仿真软件已4年有余,写下以下文章供大家参考,学习资料来源于网络,反馈给网络. 首先,为什么选择LTspice而不是其他特别知名软件,比如PSpice.Multisim.Tina ...

  7. Ansible自动化运维工具使用

    概述 本文描述自动化运维工具 Ansible 的安装及基础使用方法,包含: Centos 下的安装 主机配置 Ad-Hoc command(命令行执行) Playbook (任务剧本) Ansible ...

  8. 自动化运维神器——Ansible

    目录 一.Ansible 1.Ansible简介 2.自动化运维工具对比: 3.Ansible特性 4.Ansible执行流程 二.ansible安装 1.实验环境 2.安装 3.主配置文件 1.主配 ...

  9. 自动化运维工具ansible学习+使用ansible批量推送公钥到远程主机

    原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 .作者信息和本声明.否则将追究法律责任. 目录: 一.ansible简介 1.1.ansible是什么 1.2.ansible如何工作 ...

最新文章

  1. auto关键字详解 C++
  2. 将html中的代码拷贝到jsp后出现的问题 Failed to create the part's controls
  3. 再次召唤灵魂画手!这个AI把你信手涂鸦都变成人脸
  4. [转载]dorado学习笔记(二)
  5. 2016.11.30
  6. Git 分支的创建与切换 —— Git 学习笔记 14
  7. android 的webview解析
  8. WPF之ComboBox的VisualTreeHelper
  9. pd怎么卸载linux系统,parallels desktop11怎么卸载?parallels desktop11卸载方法
  10. 数字图像处理——灰度变换
  11. html 标签相互转意功能,让表现显示在界面,不被解析成标签
  12. 计算机网络 通信网络笔记(自顶向下的方法)from top to the botton of MIT
  13. SQL中IF函数的使用
  14. 2018“百度之星”程序设计大赛 - 复赛 1003 带劲的and和(位运算,很好的题)
  15. 百度BAE搭建微信公众平台-git的使用
  16. c语言---15 循环语句do while()
  17. 一边学计算机一边上班累的说说,上班累了的心情说说_上班的心情说说精选
  18. myos1 大学生利用C++构建一个完整的操作系统打印helloworld
  19. ArcGIS中的坡度分析问题的解决
  20. android 使用mediaplayer播放网络音乐

热门文章

  1. 实例23:python
  2. hive简介(大数据技术)
  3. Centos7jdk安装
  4. 剑指offer--斐波那契数列
  5. 学完php在学python_写给PHP程序员的 Python学习指南(建议去看原文)
  6. python改文件名_通过python顺序修改文件名字的方法
  7. !KMP算法完整教程
  8. Mvc NuGet 数据迁移
  9. 【转】String.format详解
  10. Hyperledger中数据存取的实现