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


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

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

agentless 無需安裝agent,可根據具體情況建立一台操作機

支持playbook劇本 

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

其他等等,一百度一大堆,自行百度吧~

 

環境說明:

系統環境centos6.8

操作機 192.168.1.121

客戶機 192.168.1.122

 

基本安裝


安裝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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM