天天看點

Ansible實作批量管理伺服器

Ansible介紹:

a. ansible是一個基于Python開發的自動化運維工具

b. ansible是一個基于ssh協定實作遠端管理的工具

c. ansible軟體可以實作多種批量管理操作(批量系統配置、批量軟體部署、批量檔案拷貝、批量運作指令)

saltstack puppet (都是類似軟體)

批量管理服務特征介紹.

用戶端不需要啟動任何服務,服務端不需要任何的配置.

Server端安裝(管理端): yum -y install ansible.

ansible用戶端(受控端):沒有用戶端軟體安裝.

部署安裝流程(ansible自動化批量管理伺服器部署流程)CentOS6.9環境:

a.管理主機: 10.0.0.61 m01

受控主機:

10.0.0.41 backup(備份主機)

10.0.0.31 nfs01(nfs伺服器)

Ansible軟體自動化部署條件:

b.建議基于ssh密鑰方式建立遠端連接配接.

@1.ssh-keygen 建立密鑰對(管理主機上) ssh-keygen -t dsa

@2.分發公鑰檔案(管理主機進行分發)

ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.31

ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.41

ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.51

@3.檢查是否可以進行基于密鑰遠端管理;

  ssh ip uptime (ssh [email protected])

 免互動進行建立密鑰對和 免互動進行密鑰分發.

>/root/.ssh/known_hosts 追加輸出重定向, 清空 known_hosts 已連接配接主機清單.

ssh-keygen -t dsa (建立密鑰,需要進行人為幹預)

ssh-keygen -t dsa -f /root/.ssh/id_rsa

-N/-P -N ""/-P""

 免互動實作密鑰的建立到指定的目錄下:   ssh-keygen -t dsa -f /root/.ssh/id_dsa -N ""

man ssh ssh-keygen

ssh-keygen - authentication key generation, management and conversion

需要安裝sshpass 軟體 yum -y install sshpass

Ansible實作批量管理伺服器

免互動進行密鑰分發.

sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.31

sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub "-o StrictHostKeyChecking=no 172.16.1.31"

批量建立密鑰對和批量分發密鑰腳本:

#!/bin/bash

rm -f /root/.ssh/id*

ssh-keygen -t dsa -f /root/.ssh/id_dsa -N ""

for ip in 31 41 51 8

do

sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub "-o StrictHostKeyChecking=no $ip"

done

重新分發之前 cd /root/.ssh .

[[email protected] .ssh]# rm -f authorized_keys

删除之後再在管理主機上執行免密鑰分發檔案.

ssh -o StrictHostKeyChecking 參數,實作免互動認證

基于ssh密碼方式建立遠端連接配接(也可以)

 通過對vim /usr/bin/ssh-copy-id 修改這個檔案的端口,可以更改遠端SSH的端口

{ eval "$GET_ID" ; } | ssh  -p 52113 $1 "exec sh -c 'cd; umask 077; test -d .ssh || mkdir .ssh ; cat >> .s

sh/authorized_keys && (test -x /sbin/restorecon && /sbin/restorecon .ssh .ssh/authorized_keys >/

dev/null 2>&1 || true)'" || exit 1

c. ansible 軟體下載下傳安裝

yum -y install ansible  服務端安裝軟體(ansible)

yum -y install libselinux-python 受控主機需要安裝這個軟體 

需要修改ansible.cfg  檔案

d.ansible軟體應用過程.

ansible-doc -l  檢視ansible的子產品

轉載于:https://www.cnblogs.com/Enzoo/p/10110455.html

繼續閱讀