日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

ansible1.7.2源码安装教程

發(fā)布時(shí)間:2025/5/22 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ansible1.7.2源码安装教程 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

ansible1.7.2源碼安裝教程


==========================================================================================

一、基礎(chǔ)介紹

==========================================================================================

1、簡(jiǎn)介

ansible是新出現(xiàn)的自動(dòng)化運(yùn)維工具,基于Python開(kāi)發(fā),集合了眾多運(yùn)維工具(puppetcfenginecheffuncfabric)的優(yōu)點(diǎn),實(shí)現(xiàn)了批量系統(tǒng)配置、批量程序部署、批量運(yùn)行命令等功能。ansible是基于模塊工作的,本身沒(méi)有批量部署的能力。真正具有批量部署的是ansible所運(yùn)行的模塊,ansible只是提供一種框架。主要包括:

(1)、連接插件connection plugins:負(fù)責(zé)和被監(jiān)控端實(shí)現(xiàn)通信;

(2)host inventory:指定操作的主機(jī),是一個(gè)配置文件里面定義監(jiān)控的主機(jī);

(3)、各種模塊核心模塊、command模塊、自定義模塊;

(4)、借助于插件完成記錄日志郵件等功能;

(5)playbook:劇本執(zhí)行多個(gè)任務(wù)時(shí),非必需可以讓節(jié)點(diǎn)一次性運(yùn)行多個(gè)任務(wù)。


2、總體架構(gòu)


3、特性

(1)no agents:不需要在被管控主機(jī)上安裝任何客戶端;

(2)no server:無(wú)服務(wù)器端,使用時(shí)直接運(yùn)行命令即可;

(3)modules in any languages:基于模塊工作,可使用任意語(yǔ)言開(kāi)發(fā)模塊;

(4)yamlnot code:使用yaml語(yǔ)言定制劇本playbook

(5)ssh by default:基于SSH工作;

(6)strong multi-tier solution:可實(shí)現(xiàn)多級(jí)指揮。


4、優(yōu)點(diǎn)
(1)
、輕量級(jí),無(wú)需在客戶端安裝agent,更新時(shí),只需在操作機(jī)上進(jìn)行一次更新即可;
(2)
、批量任務(wù)執(zhí)行可以寫成腳本,而且不用分發(fā)到遠(yuǎn)程就可以執(zhí)行;
(3)
、使用python編寫,維護(hù)更簡(jiǎn)單,ruby語(yǔ)法過(guò)于復(fù)雜;
(4)
、支持sudo


5、任務(wù)執(zhí)行流程


說(shuō)明:

(1)、以上內(nèi)容大多是基于他人分享的基礎(chǔ)上總結(jié)而來(lái),學(xué)習(xí)借鑒之用;

(2)、本次安裝基于 CentOS 6.7?系統(tǒng)環(huán)境。


==========================================================================================

二、Ansible基礎(chǔ)安裝與配置

==========================================================================================

1Ansible基礎(chǔ)安裝

(1)python2.7安裝

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頭文件拷貝到標(biāo)準(zhǔn)目錄,以避免編譯ansible時(shí),找不到所需的頭文件

# cd /usr/local/include/python2.7

# cp -a ./* /usr/local/include/


##?備份舊版本的python,并符號(hào)鏈接新版本的python

# cd /usr/bin

# mv python python2.6

# ln -s /usr/local/bin/python .


##?修改yum腳本,使其指向舊版本的python,已避免其無(wú)法運(yùn)行

# vim /usr/bin/yum

#!/usr/bin/python ?更改為 ?#!/usr/bin/python2.6


(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模塊安裝

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 install


https://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 install


https://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 install


https://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


2Ansible配置

(1)SSH免密鑰登錄設(shè)置

ansilbe采用ssh的方式管理節(jié)點(diǎn),為了方便管理,使用密鑰方式面密碼登陸被管理節(jié)點(diǎn)。
1、生成rsa格式密鑰(ansible主機(jī)上)
ssh-keygen -t rsa
2、把公鑰寫入到遠(yuǎn)端主機(jī)(被管理機(jī))的~/.ssh/authorized_keys,命令如下:
ssh-copy-id username@192.168.1.50(遠(yuǎn)程主機(jī)ip)
3、管理機(jī)設(shè)置默認(rèn)遠(yuǎn)程用戶
vim /etc/ansible/ansible.cfg
remote_user = username


(2)ansible配置

[wutengfei@iZ2547mxdm8Z examples]$ sudo mkdir -p /etc/ansible

[wutengfei@iZ2547mxdm8Z ~]$ cd /usr/local/ansible/ansible-1.7.2/examples/

[wutengfei@iZ2547mxdm8Z examples]$ sudo cp -rvf hosts /etc/ansible/

[wutengfei@iZ2547mxdm8Z examples]$ sudo cp -rvf ansible.cfg /etc/ansible/


##?主機(jī)組定義

# vim /etc/ansible/hosts

[test]

10.51.65.82


(3)、簡(jiǎn)單測(cè)試

可以查看下ansible的版本,如果有正常的版本輸出,說(shuō)明ansible安裝成功,如:

[wutengfei@iZ2547mxdm8Z ~]$ ansible --version

ansible 1.7.2

或者使用 ansible -h 也是可以判斷ansible是否安裝成功!如:

[wutengfei@iZ2547mxdm8Z ~]$ ansible -h|more

??

如果使用 ansible -h 出現(xiàn)報(bào)錯(cuò),如下:

解決方法:

這種問(wèn)題一般是python在做完升級(jí)之后,沒(méi)在yum配置文件中重新指定python!

如:

##?修改yum腳本,使其指向舊版本的python,已避免其無(wú)法運(yùn)行

# vim /usr/bin/yum

#!/usr/bin/python ?更改為 ?#!/usr/bin/python2.6


(3)、ansible命令測(cè)試


[wutengfei@iZ2547mxdm8Z ~]$ ansible test -m shell -a 'hostname' -o

出現(xiàn)報(bào)錯(cuò),內(nèi)容如下:

解決方法:

參考:http://www.it1352.com/544764.html

[wutengfei@iZ2547mxdm8Z ~]$ sudo vim /etc/ansible/hosts

修改:

[test]

?10.51.65.82 ansible_ssh_pass=被管理機(jī)密碼 ansible_ssh_user=被管理機(jī)賬戶

再次測(cè)試:

[wutengfei@iZ2547mxdm8Z ~]$ ansible test -m shell -a 'hostname' -o

10.51.65.82 | success | rc=0 | (stdout) iZkeo60dfag6bzZ

ok!可以啦!

[wutengfei@iZ2547mxdm8Z ~]$ ansible test -m ping

10.51.65.82 | success >> {

? ? "changed": false,?

? ? "ping": "pong"

}



說(shuō)明:第一次運(yùn)行時(shí),需要輸入一下“yes”【進(jìn)行公鑰驗(yàn)證】,后續(xù)無(wú)需再次輸入。


轉(zhuǎn)載于:https://blog.51cto.com/wutengfei/1973792

總結(jié)

以上是生活随笔為你收集整理的ansible1.7.2源码安装教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。