1.環境:centos7,python 2.7(相容python2.6.6),兩台伺服器:192.168.1.94(被控機),192.168.1.115(主機)
2.安裝:(如不特殊說明,均在主機上安裝部署)
a.yum -y install python-devel
b..安裝pycrypto模組
wget
# tar xvzf pycrypto-2.6.1.tar.gz
# cd pycrypto-2.6.1
# python setup.py install
c.安裝yaml模組
wget
# 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
d.安裝pyyaml模組
wget
# tar xvzf pyyaml-3.11.tar.gz
# cd pyyaml-3.11
# python setup.py install
e. 安裝markupsafe模組
wget
# tar xvzf markupsafe-0.9.3.tar.gz
# cd markupsafe-0.9.3
# python setup.py install
f.安裝jinja2模組
wget
# tar xvzf jinja2-2.7.3.tar.gz
# cd jinja2-2.7.3
# python setup.py install
g.安裝******json模組安裝
wget
# tar xvzf ******json-3.6.5.tar.gz
# cd ******json-3.6.5
# python setup.py install
h. 安裝ecdsa模組
wget
# tar xvzf ecdsa-0.11.tar.gz
# cd ecdsa-0.11
# python setup.py install
i. 安裝paramiko模組
wget
# tar xvzf paramiko-1.15.1.tar.gz
# cd paramiko-1.15.1
# python setup.py install
j. 安裝ansible
wget
# tar xvzf v1.7.2.tar.gz
# cd ansible-1.7.2
# python setup.py install
k. 安裝setuptools
wget
# tar xvzf setuptools-7.0.tar.gz
# cd setuptools-7.0
# python setup.py install
3、配置:
a.拷貝配置檔案
在安裝完成之後,配置檔案在安裝路徑之中,如下圖所示:
b.在ansible安裝目錄下,拷貝examples目錄下的拷貝ansible.cfg,hosts到/etc/ansible(新建)目錄下:
新建目錄:mkdir /etc/ansible
拷貝/usr/local/pythonasiable/ansible-1.7.2/examples目錄下的ansible.cfg與hosts到/etc/ansible目錄: cp ansible.cfg hosts /etc/ansible/
c.配置hosts檔案
vi /etc/ansible/hosts
在hosts檔案中新增此行被控機資訊:
d.ssh配置
ssh免密碼登入,因為需要通過ssh登入到各個節點進行操作,我用的是root使用者,
每台伺服器都生成公鑰,再合併到authorized_keys
(1)centos預設沒有啟動ssh無密登入,去掉vi /etc/ssh/sshd_config其中2行的注釋,
每台伺服器都要設定,(去除#號)
rsaauthentication yes
pubkeyauthentication yes
(2)輸入命令,ssh-keygen -t rsa,生成key,都不輸入密碼,一直回車,/root就會生成.ssh資料夾,每台伺服器都要設定,
(3)合併公鑰到authorized_keys檔案,在master伺服器,進入/root/.ssh目錄,通過ssh命令合併,
cat id_rsa.pub>> authorized_keys
ssh [email protected] cat ~/.ssh/id_rsa.pub>> authorized_keys
ssh [email protected] cat ~/.ssh/id_rsa.pub>> authorized_keys
(4)authorized_keys為儲存的id_rsa.pub、known_hosts 初次訪問時會在.ssh下生成
(5)完成,ssh [email protected] 、ssh [email protected] 就不需要輸入密碼了
15、初步進行測試
a..相關報錯
解決辦法:
ansible使用sshpass程式通過ssh登入到伺服器時使用的密碼。
出於安全原因,你應該ansible登入伺服器使用ssh金鑰,但對於新伺服器最初是簡單的登入密碼,ansible設定使用者和ssh金鑰,然後後續登入使用ssh金鑰。
sshpass,可以從源**安裝sshpass有以下步驟:
curl -o -l
tar xvzf sshpass-1.05.tar.gz
cd sshpass-1.05
./configure
make
make install
ansible 自動化運維工具
ansible 自動化運維工具 批量管理 python開發 無客戶端 基於ssh服務 22 安裝 1.ansible包在擴充套件源,epel release yum y install epel release yum repolist 2.安裝,ansible yum y install ansi...
自動化運維工具 ansible
ansible ansible 一 簡介和部署 ansible 二 主機清單管理 ansible 三 配置和命令集 ansible 四 常用模組 ansible 五 palybooks劇本 ansible 彙總 ansible 中文權威指南 本部落格 至 小左先森的部落格 ansible ansib...
ansible 自動化運維工具
ansible是新出現的自動化運維工具,基於python開發,集合了眾多運維工具 puppet cfengine chef func fabric 的優點,實現了批量系統配置 批量程式部署 批量執行命令等功能。ansible是基於模組工作的,本身沒有批量部署的能力。真正具有批量部署的是ansible...