天天看點

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)]