Ansible的部署與基本配置

2021-10-13 12:38:04 字數 3483 閱讀 3360

1.什麼是ansible:

ansible是一款開源自動化平台,是乙個配置管理工具,自動化運維工具。

ansible基於python開發,集合了眾多運維工具(puppet、cfengine、chef、func、fabric)的優點,實現了批量系統配置、批量程式部署、批量執行命令等功能。

ansible是基於模組工作的,本身沒有批量部署的能力。真正具有批量部署的是ansible所執行的模組,ansible只是提供一種框架。

ansible的優點:

1-1.支援跨平台操作:ansible提供linux,windows,unix和網路裝置的無**支援,適用於物理、虛擬、雲和容器環境

1-2.可讀性強:減少人為錯誤,在執行playbook時,如果目標主機處於正確狀態,則不會進行任何更改。

1-3.完美描述應用:playbook(具有冪等性)

1-4.輕鬆管理版本控制:playbook是純文字,可視作源**

1-5.支援動態清單

1-6.編排可與其他系統輕鬆整合:puppet、jenkins

1-7.基礎架構即**:簡單的任務用命令即可完成

2.ansible 的安裝:

ansible --viersion 檢視當前ansible版本資訊

ansible的基本配置檔案資訊:

/etc/ansible/ansible.conf ##全域性配置檔案,預設很少修改

/etc/ansible/hosts ##全域性主機清單清單檔案

ansible 服務的遠端鏈結是建立在ssh 的基礎上的,因此,在主機(服務端)上安裝ansible後,要與ansible客戶主機建立公私鑰無密碼的連線方式:

3.ansible的構建清單:

清單就是ansible控制主機的列表

/etc/ansible/hosts ##預設全域性清單檔案,通常不編輯此清單,而是自建檔案(自創使用者下的ansible檔案下的hosts)

#1.直接書寫受管主機名或ip,每行乙個

node1.westos.com

node2.westos.com

172.25.254.240

#2.設定受管主機的組[組名稱]

#清單檢視:

ansible 清單中組名稱 [-i 清單檔案] --list-hosts

ansible ungrouped --list-hosts

ansible all --list-hosts

#單層清單#

[list1]

node1.westos.com

node2.westos.com

[list2]

node2.westos.com

[list3]

172.25.254.240

也可以巢狀定義,如下:servers組中的兩個子組為webservers和dbservers

[webservers]

server1.westos.org

server2.westos.org

172.25.0.1

[dbservers]

node1.westos.org

node1.westos.org

[servers:children]

webservers

dbservers

正確建立金鑰連線的方式,並將其編寫進對應的客戶清單後,可以簡單的檢測:(ssh 連線所有的目標主機)

all 表示所有

ansible test -m ping 表示測試 test組中的客戶

主機規格的範圍化操作#

#通過指定主機名稱或ip的範圍可以簡化ansible主機清單

#語法:

#[start:end]

[westostest]

172.25.254.[100:108]:22

如果需要更改埠,直接使用 「:埠號 」 新增即可

4.ansible 中操作示例:預設情況下:紅色字型代表執行出錯,一旦出錯後,後邊的指令便不再繼續執行;

黃色字型代表執行操作後,發生了改變;(執行成功)

綠色字型代表命令執行成功,未發生錯誤,也沒有作出改變;

-k 表示詢問密碼;

-u 表示以***使用者身份;

-m 表示使用的模組名;

5.ansible命令指定清單的正規表示式:

*		##所有                       注意: 在命令列中使用時(ad-hoc)要加「 」,否則會變成當前目錄中的所有;

##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開頭

6.ansible配置檔案引數詳解:重點: ansible 中檢視各各模組中的引數詳解:

ansible-doc 模組名 檢視該模組中的引數資訊(可以直接在檔案內容最後檢視example)

ansible 清單中組名稱 -m 模組 -u remote_user

6-1:配置檔案的分類與優先順序:

/etc/ansible/ansible.cfg		#基本配置檔案,找不到其他配置檔案此檔案生效,優先順序最低

~/.ansible.cfg #當前目錄中沒有ansible.cfg時,使用者家目錄中的此檔案生效

./ansible.cfg #當前目錄中的ansible檔案優先順序最高

6-2:常用配置引數:

Ansible基本安裝配置概念

ansible是新出現的自動化運維工具,基於python開發,集合了眾多運維工具 puppet cfengine chef func fabric 的優點,實現了批量系統配置 批量程式部署 批量執行命令等功能。ansible 是乙個配置管理系統 configuration management sy...

ansible的安裝及部署

部署ansible 後記ansible是一款開源自動化平台,是乙個配置管理工具,自動化運維工具 ansible命令相當於linux命令 ansible是基於模組開發的,常用的20 30個 yaml語法是自帶語法 playbook 劇本 相當於指令碼 ansible roles 角色 一大堆指令碼 1...

ansible的搭建配置

ansible簡介 ansible是新出現的自動化運維工具,基於python開發,集合了眾多運維工具 puppet cfengine chef func fabric 的優點,實現了批量系統配置 批量程式部署 批量執行命令等功能。ansible是基於模組工作的,本身沒有批量部署的能力。真正具有批量部...