Ansible的安裝及部署

Sun__s發表於2020-12-15

 一、Ansible對於企業運維的重大意義

Ansible是一個簡單高效的自動化運維管理工具,用Python開發(安裝時依賴Python版本,控制主機master器要求Python2.6以上,被控制的主機server需要Python2.6以上。centos6.8自帶Python2.6),能大批量管理N多臺機器,可以併發的在多臺機器上部署應用、安裝軟體、執行命令、配置和編排任務。

二、Ansible的安裝

epel源
dnf install ansible -y
ansible --version

ansible的基本資訊
/etc/ansible/ansible.conf全域性配置檔案,預設很少修改
/etc/ansible/hosts全域性主機清單清單檔案

三、構建Anisble清單

實驗環境:

Ansible        172.25.1.101
node1        172.25.1.10
node2        172.25.1.20

清單就是ansible控制主機的列表
/etc/ansible/hosts                      ##全域性清單檔案

#1.直接書寫受管主機名或ip,每行一個
node1.westos.com
node2.westos.com
172.25.254.240


#2.設定受管主機的組[組名稱]
#單層清單#
[list1]
node1.westos.com
node2.westos.com

[list2]
node2.westos.com

[list3]
172.25.254.240


#巢狀清單#
[westos:children]
list1
list3

測試:

 3.主機規格的範圍化操作

#通過指定主機名稱或IP的範圍可以簡化Ansible主機清單
#語法:
#[start:end]
[westostest]
172.25.1.[10:30]

測試:

4.指定其他清單檔案

vim inventory
172.25.1.101
[list1]
172.25.1.10
[list2]
172.25.1.20
[list3]
172.25.1.10
172.25.1.20

測試:

 

#ansible命令指定清單的正規表示式
*		##所有
		##172.25.254.*
		##westos*

:		##邏輯或
		##westos1:linux
		##172.25.254.100:172.25.254.200

:&		##邏輯與
		##westos1:&linux
		##主機即在westos1清單也在linux清單中

:!		##邏輯非
		##westos1:!linux
		##在westos1中不在linux中

~		##以關鍵字開頭

~(str1|str2)	##以條件1或者條件2開頭		

四、Ansible配置檔案引數詳解

配置檔案的分類與優先順序
/etc/ansible/ansible.cfg基本配置檔案,找不到其他配置檔案此檔案生效
~/.ansible.cfg使用者當前目錄中沒有ansible.cfg此檔案生效
./ansible.cfg優先順序最高

 

常用配置引數
#[default]基本資訊設定
inventory=指定清單路徑
remote_user=在受管主機上登陸的使用者名稱稱,未指定使用當前使用者
ask_pass=是否提示輸入SSH密碼,如果公鑰登陸設定為false
library=庫檔案存放目錄
local_tmp=本機臨時命令執行目錄
remote_tmp=遠端主機臨時py命令檔案存放目錄
forks=   預設併發數量
host_key_checking=第一次連線受管主機時是否要輸入yes建立host_key
sudo_user=   預設sudo使用者
ask_sudo_pass=每次在受控主機執行ansible命令時是否詢問sudo密碼
module_name=預設模組,預設使用command,可以修改為shell
log_path=日誌檔案路徑

 

[privilege_escalation]身份資訊設定
become=       連線後是否自動切換使用者
become_method=設定切換使用者的方式,通常用sudo
become_user=在受管主機中切換到的使用者,通常為root
become_ask_pass   是否需要為become_method提示輸入密碼,預設為false

 

相關文章