VPS测评 VPS推荐 VPS优惠
Linux运维

Ansible的介绍和架构

Ansible发展史

作者:Michael DeHaan( Cobbler 与 Func 作者)
Ansible 的名称来自科幻小说《安德的游戏》中跨越时空的即时通信工具,使用它可以在相距数光年的距离,远程实时控制前线的舰队战斗。

2012-03-09,发布0.0.1版。

2015-10-17,Red Hat宣布1.5亿美元收购。

官网:https://www.ansible.com/
官方文档:https://docs.ansible.com/


Ansible 功能

  • 批量执行远程命令,可以对远程的多台主机同时进行命令的执行
  • 批量安装和配置软件服务,可以对远程的多台主机进行自动化的配置和管理
  • 编排高级的企业级复杂的IT架构任务, Ansible的Playbook和role可以轻松实现大型的IT复杂架构
  • 提供自动化运维工具的开发API, 有很多运维工具,如jumpserver就是基于 ansible 实现自动化管理功能

Ansible 特性

  • 模块化:调用特定的模块完成特定任务,支持自定义模块,可使用任何编程语言写模块
  • Paramiko(python对ssh的实现),PyYAML,Jinja2(模板语言)三个关键模块
  • 基于Python语言实现
  • 部署简单,基于python和SSH(默认已安装),agentless,无需代理不依赖PKI(无需ssl)
  • 安全,基于OpenSSH
  • 幂等性:一个任务执行1遍和执行n遍效果一样,不因重复执行带来意外情况(此特性非绝对)
  • 支持playbook编排任务,YAML格式,编排任务,支持丰富的数据结构
  • 较强大的多层解决方案 role

Ansible 架构

Ansible 组成

组合INVENTORY、API、MODULES、PLUGINS的绿框,为ansible命令工具,其为核心执行工具

  • INVENTORY:Ansible管理主机的清单/etc/ansible/hosts
  • MODULES:Ansible执行命令的功能模块,多数为内置核心模块,也可自定义
  • PLUGINS:模块功能的补充,如连接类型插件、循环插件、变量插件、过滤插件等(该功能不常用)
  • API:供第三方程序调用的应用程序编程接口

注意事项

  • 执行ansible的主机一般称为管理端,,主控端,中控,master或堡垒机
  • 主控端Python版本需要2.6或以上
  • 被控端Python版本小于2.4,需要安装python-simplejson
  • 被控端如开启SELinux需要安装libselinux-python
  • windows 不能做为主控端
未经允许不得转载:青蛙主机 » Ansible的介绍和架构

VPS相关常用工具

PING测试工具自用毛子接码站