专栏首页木二天空001. Ansible简介

001. Ansible简介

一 简介

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:模块功能的补充,如连接类型插件、循环插件、变量插件等,可借助于插件完成更丰富的功能。

二 工作机制

用户使用Ansible或Playbook,在服务器中断输入Ansible的Ad-Hoc命令集或Playbook;

  1. Ansible遵循预先编排的规则将Playbooks逐条拆解为Play;
  2. Play组织成Ansible可识别的任务(Task);
  3. Task会调用任务所涉及的所有模块(Module)和插件(Plugin);
  4. 读取Inventroy中定义的主机列表;
  5. 通过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. 任务流编排

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 001.FTP简介及相关文件

    FTP(File Transfer Protocol)文件传输协议,用于Internet上控制文件的双向传输。

    木二
  • 002.WordPress常见插件

    Akismet 是 WordPress 官方推荐的一款 WordPress 防垃圾评论插件,也是默认已安装的插件。

    木二
  • 008.Zabbix多图展示

    Configuration---->Screen---->Creat screen

    木二
  • Ansible 精妙设计:让你的自动化奔跑起来

    Netflix的Chaos工程团队的高级软件工程师,曾在SendGrid实验室担任高级软件工程师、在Nimbis Services担任云服务首席架构师,还曾是加...

    用户1682855
  • Linux 命令

    查看该目录下每个文件夹的大小ll-I”..”|awk’{print$9}’|xargs-I{}du-…

    白凡
  • [DeeplearningAI笔记]卷积神经网络3.6-3.9交并比/非极大值抑制/Anchor boxes/YOLO算法

    的网格,在进行预测的同时,两辆车中心旁的其他网格也会认为目标对象的中心点在其中。如图绿色和黄色方框中显示。

    DrawSky
  • 【版本升级】PerfDog新增多维度测试报告对比功能、iOS电量测试功能升级

    ? 伴随春日暖阳,疫情终将过去,PerfDog在新的一年为广大用户带来重磅更新:新增多维度测试报告对比功能,iOS电量测试功能全新升级。诚邀大家体验。 版本更...

    腾讯Bugly
  • 英特尔CPU又曝新漏洞,AMD或也遭殃

    研究人员再次发现英特尔CPU的一项漏洞,这个代号“PortSmash”的问题能够从并行的CPU或内存中泄露保密数据,AMD产品也被怀疑存在同样的漏洞。

    新智元
  • 对象拷贝(五)

    想对一个对象进行处理,又想保留原有的数据进行接下来的操作,就需要克隆了,Java语言中克隆针对的是类的实例。

    用户6182664
  • 如何维护一套 DevOps 系统

    无论是基于云平台还是IDC,又或者是openshift,我们搭建出的一套完整的DevOps环境,不能太依赖于其本身的稳定性以及可靠性,需要对这一套环境进行运维,...

    DevOps时代

扫码关注云+社区

领取腾讯云代金券