Ansible(一),Ansible(
Ⅰ. Ansible簡介
ansible是新出現的自動化營運工具,基於Python開發,集合了眾多營運工具(puppet、cfengine、chef、func、fabric)的優點,實現了批量系統配置、批配量序部署、批量運行命令等功能。僅需在管理工作站上安裝ansible程式配置被管控主機的IP資訊,被管控的主機無用戶端。ansible是基於模組工作的,ansible應用程式存在於epel(第三方社區)源,依賴於很多python組件。主要包括:
Ⅱ. 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
2. 手動分步安裝
(1)、python2.7安裝
# wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz# tar xvzf Python-2.7.8.tgz# cd Python-2.7.8# ./configure --prefix=/usr/local# make --jobs=`grep processor/proc/cpuinfo | wc -l`# make install## 將python標頭檔拷貝到標準目錄,以避免編譯ansible時,找不到所需的標頭檔# cd /usr/local/include/python2.7# cp -a ./* /usr/local/include/
(2)、setuptools模組安裝
https://pypi.python.org/packages/source/s/setuptools/setuptools-7.0.tar.gz# tar xvzf setuptools-7.0.tar.gz# cd setuptools-7.0# python setup.py install
(3)、pycrypto模組安裝
# wget https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz# tar xvzf pycrypto-2.6.1.tar.gz# cd pycrypto-2.6.1# python setup.py install
(4)、PyYAML模組安裝
http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz# tar xvzf yaml-0.1.5.tar.gz# cd yaml-0.1.5# ./configure --prefix=/usr/local# make --jobs=`grep processor/proc/cpuinfo | wc -l`# make installhttps://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.11.tar.gz# tar xvzf PyYAML-3.11.tar.gz# cd PyYAML-3.11# python setup.py install
(5)、Jinja2模組安裝
https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.9.3.tar.gz# tar xvzf MarkupSafe-0.9.3.tar.gz# cd MarkupSafe-0.9.3# python setup.py installhttps://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.7.3.tar.gz# tar xvzf Jinja2-2.7.3.tar.gz# cd Jinja2-2.7.3# python setup.py install
(6)、paramiko模組安裝
https://pypi.python.org/packages/source/e/ecdsa/ecdsa-0.11.tar.gz# tar xvzf ecdsa-0.11.tar.gz# cd ecdsa-0.11# python setup.py installhttps://pypi.python.org/packages/source/p/paramiko/paramiko-1.15.1.tar.gz# tar xvzf paramiko-1.15.1.tar.gz# cd paramiko-1.15.1# python setup.py install
(7)、simplejson模組安裝
https://pypi.python.org/packages/source/s/simplejson/simplejson-3.6.5.tar.gz# tar xvzf simplejson-3.6.5.tar.gz# cd simplejson-3.6.5# python setup.py install
(8)、ansible安裝
https://github.com/ansible/ansible/archive/v1.7.2.tar.gz# tar xvzf ansible-1.7.2.tar.gz# cd ansible-1.7.2# python setup.py install
# 查看ansible版本# ansible --versionansible 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)]