源碼安裝Ansible
ansible是一款的自動化運維工具,基於Python開發,集合了眾多運維工具(puppet、cfengine、chef、func、fabric)的優點,實現了批量系統配置、批量程序部署、批量運行命令等功能。ansible是基於模塊工作的,本身沒有批量部署的能力。真正具有批量部署的是ansible所運行的模塊,ansible只是提供一種框架。主要包括:
1、連接插件connection plugins:負責和被監控端實現通信;
2、host inventory:指定操作的主機,是一個配置文件裏面定義監控的主機;
3、各種模塊核心模塊、command模塊、自定義模塊;
4、借助於插件完成記錄日誌郵件等功能;
二、Ansible特性
1、no agents:不需要在被管控主機上安裝任何客戶端;
2、no server:無服務器端,使用時直接運行命令即可;
3、modules in any languages:基於模塊工作,可使用任意語言開發模塊;
4、yaml,not code:使用yaml語言定制劇本playbook;
5、ssh by default:基於SSH工作;
6、strong multi-tier solution:可實現多級指揮。
三、Ansible優點
1、輕量級,無需在客戶端安裝agent,更新時,只需在操作機上進行一次更新即可;
3、使用python編寫,維護更簡單,ruby語法過於復雜;
4、支持sudo。
四、Ansible工作機制
下圖來源於網絡:
五、源碼安裝Ansible
源碼安裝需要python2.6以上版本,其依賴模塊paramiko、PyYAML、Jinja2、httplib2、simplejson、pycrypto等模塊,以上模塊可以通過pip或easy_install 進行安裝。
包的版本如下:
復制代碼
Python-2.7.8.tgz
Jinja2-2.7.3.tar.gz
MarkupSafe-0.9.3.tar.gz
PyYAML-3.11.tar.gz
ecdsa-0.11.tar.gz
paramiko-1.15.1.tar.gz
pycrypto-2.6.1.tar.gz
setuptools-7.0.tar.gz
simplejson-3.6.5.tar.gz
yaml-0.1.5.tar.gz
復制代碼
1、安裝python2.7
復制代碼
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/
備份舊版本的python,並符號鏈接新版本的python
cd /usr/bin
mv python python2.6
ln -s /usr/local/bin/python python
復制代碼
2、安裝setuptools模塊
tar xvzf setuptools-7.0.tar.gz
cd setuptools-7.0
python setup.py install
3、安裝pycrypto模塊
tar xvzf pycrypto-2.6.1.tar.gz
cd pycrypto-2.6.1
python setup.py install
4、安裝PyYAML模塊
復制代碼
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 install
tar xvzf PyYAML-3.11.tar.gz
cd PyYAML-3.11
python setup.py install
復制代碼
5、安裝Jinja2模塊
復制代碼
tar xvzf MarkupSafe-0.9.3.tar.gz
cd MarkupSafe-0.9.3
python setup.py install
tar xvzf Jinja2-2.7.3.tar.gz
cd Jinja2-2.7.3
python setup.py install
復制代碼
6、安裝paramiko模塊
復制代碼
tar xvzf ecdsa-0.11.tar.gz
cd ecdsa-0.11
python setup.py install
tar xvzf paramiko-1.15.1.tar.gz
cd paramiko-1.15.1
python setup.py install
復制代碼
7、安裝simplejson模塊
tar xvzf simplejson-3.6.5.tar.gz
cd simplejson-3.6.5
python setup.py install
8、安裝ansible
tar xvzf ansible-1.7.2.tar.gz
cd ansible-1.7.2
python setup.py install
源碼安裝Ansible