天天看点

Ansible(一)Ⅰ. Ansible简介Ⅱ. Ansible特性 Ⅲ. 总体架构Ⅳ.  Ansible安装

Ⅰ. Ansible简介

ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。仅需在管理工作站上安装ansible程序配置被管控主机的IP信息,被管控的主机无客户端。ansible是基于模块工作的,ansible应用程序存在于epel(第三方社区)源,依赖于很多python组件。主要包括:

  1. 连接插件connection plugins:负责和被监控端实现通信;
  2. host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
  3. 各种模块核心模块、command模块、自定义模块;
  4. 借助于插件完成记录日志邮件等功能;
  5. playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。
Ansible(一)Ⅰ. Ansible简介Ⅱ. Ansible特性 Ⅲ. 总体架构Ⅳ.  Ansible安装

Ⅱ. Ansible特性

  1. no agents:轻量级,部署简单,不需要在被管控主机上安装任何客户端;
  2. modules in any languages:基于模块工作,调用特定的模块来完成特定任务,可使用任意语言开发模块;
  3. based on Python : 基于Python语言实现,由Paramiko(python的一个可并发连接ssh主机功能库), PyYAML和Jinja2(模板化)三个关键模块实现;
  4. yaml,not code:使用yaml语言定制剧本playbook,无需分发到客户端,按先后顺序完成连续任务;
  5. strong multi-tier solution:可实现多级指挥;
  6. sodu : 支持sodu。 

Ⅲ. 总体架构

Ansible(一)Ⅰ. Ansible简介Ⅱ. Ansible特性 Ⅲ. 总体架构Ⅳ.  Ansible安装
  • ansible core:ansible自身核心模块
  • host inventory:主机库,定义可管控的主机列表
  • connection plugins:连接插件,一般默认基于ssh协议连接
  • modules:core modules(自带模块)、custom modules(自定义模块)
  • playbooks:剧本,按照所设定编排的顺序执行完成安排任务

Ⅳ.  Ansible安装

    1. 快速安装

Linux:

如果系统中安装了python-pip和python-devel,你可以使用pip安装ansible(假设你已经安装了开发工具包Development Tools)           
$ sudo pip install ansible      
Fedora/RHEL/CentOS:

可以使用系统自带的yum管理工具           
$ yum -y install ansible      
Debian/Ubuntu:

使用系统自带的apt管理工具           
$ sudo apt-add-repository -y ppa:ansible/ansible
$ sudo apt-get update
$ sudo apt-get install -y ansible      
# 查看ansible版本
# ansible --version
ansible 2.3.1.0
  config file = 
  configured module search path = Default w/o overrides
  python version = 2.7.5 (default, Nov  6 2016, 00:28:07) [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)]