自動化運維之 Ansible——安裝配置

Ansible相對於其餘自動化運維工具(saltstack、puppet)的優點:python

Ansible是一款輕量級框架,基於各個模塊實現各類功能,模塊可根據須要自行開發web

agentless 無需安裝agent,可根據具體狀況創建一臺操做機shell

支持playbook劇本 json

python語言開發,作運維的都比較容易接受的語言centos

其餘等等,一百度一大堆,自行百度吧~服務器

 

環境說明:框架

系統環境centos6.8less

操做機 192.168.1.121運維

客戶機 192.168.1.122python2.7

 

基本安裝


安裝gcc,用於編譯python源碼

yum install gcc

 

更新python版本


centos自帶python2.6版本,因爲centos已對python深度依賴,因此更新python2.7就是從新再裝一個
下載:
wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz
編譯安裝:

tar zxf Python-2.7.12.tgz
cd Python-2.7.12
./configure
make
make install

修改python默認版本

mv /usr/bin/python /usr/bin/python2.6
ln -s /usr/local/bin/python2.7 /usr/bin/python

爲防止yum執行異常,修改yum使用的python版本

vi /usr/bin/yum

將文件頭#!/usr/bin/python修改成#!/usr/bin/python2.6

 

模塊安裝

setuptools

下載地址:
https://pypi.python.org/pypi/setuptools
編譯安裝

tar zxf setuptools-27.1.2.tar.gz
cd setuptools-27.1.2
python setup.py install

安裝setuptools時可能會出現的錯誤
RuntimeError: Compression requires the (missing) zlib module
解決辦法:
安裝zlib

yum install zlib zlib-devel -y

安裝完成後進入python目錄
從新編譯安裝python2.7

cd Python-2.7.12
make
make install

(不用刪除,直接編譯安裝,以前創建的軟鏈仍有效)

 

模塊安裝

 

安裝完成後就能夠用easy_install安裝其餘的大部分模塊了

easy_install pycrypto pyyaml jinja2 markupsafe ecdsa paramiko simplejson

使用easy_install時可能會出現的問題
error: Could not find suitable distribution for Requirement.parse('jinja2')
找不到url等等信息
解決辦法:
安裝openssl

yum install openssl openssl-devel -y

安裝完成後從新編譯安裝python2.7(同以前同樣)

安裝yaml
下載:
http://pyyaml.org/download/libyaml/yaml-0.1.7.tar.gz
編譯安裝:

tar zxf yaml-0.1.7.tar.gz
cd yaml-0.1.7
./configure
make 
make install

 

安裝ansible


下載:

http://releases.ansible.com/ansible/ansible-2.1.1.0.tar.gz

tar zxf ansible
cd ansible
python setup.py install

或者簡單一些:

easy_install ansible
pip install ansible

(這兩種方式安裝都會自動選擇適合的最新版本,推薦pip方式,能自動解決一些依賴問題,可是pip安裝的沒有ansible.cfg和hosts)

 

配置ansible


ssh 免密登陸

ssh-keygen -t rsa

一路回車
將~/.ssh/id_rsa.pub拷到其餘服務器,並在其餘服務器執行以下命令

cat id_rsa.pub >>~/.ssh/authorized_keys
chmod 600 authorized_keys

 

ansible配置

mkdir -p /etc/ansible

將ansible/examples/下的ansible.cfg和hosts文件拷到/etc/ansible/


修改hosts文件
添加以下內容

[webserver]
192.168.1.122

(即webserver組下添加192.168.1.122主機,webserver組下可添加多臺主機,以後可直接對webserver組進行操做)

 

簡單測試

ansible webserver -m command -a'uptime'

出現綠色SECCESS字樣說明成功


-m 使用的模塊
-a 爲參數

 

其餘模塊


ping
setup
file
copy
command
shell

等等

可根據須要進行測試和使用更多模塊參考:ansible-doc -l

相關文章
相關標籤/搜索