ansible服務的基礎使用 Suffocate

2022-09-23 05:15:11 字數 1534 閱讀 6053

ansible介紹

ansible是一款的自動化運維工具,基於python開發,集合了眾多運維工具(puppet、cfengine、chef、func、fabric)的優點,實現了批量系統配置、批量程式部署、批量執行命令等功能。ansible是基於模組工作的,本身沒有批量部署的能力。真正具有批量部署的是ansible所執行的模組,ansible只是提供一種框架。主要包括:

1、連線外掛程式connection plugins:負責和被監控端實現通訊;

2、host inventory:指定操作的主機,是乙個配置檔案裡面定義監控的主機;

3、各種模組核心模組、command模組、自定義模組;

4、借助於外掛程式完成記錄日誌郵件等功能;

5、playbook:劇本執行多個任務時,非必需可以讓節點一次性執行多個任務。

二、ansible特性

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

2、no server:無伺服器端,使用時直接執行命令即可;

3、modules in any languages:基於模組工作,可使用任意語言開發模組;

4、yaml,not code:使用yaml語言定製劇本playbook;

5、ssh by default:基於ssh工作;

6、strong multi-tier solution:可實現多級指揮。

三、ansible優點

1、輕量級,無需在客戶端安裝agent,更新時,只需在操作機上進行一次更新即可;

2、批量任務執行可以寫成指令碼,而且不用分發到遠端就可以執行;

3、使用python編寫,維護更簡單,ruby語法過於複雜;

4、支援sudo。

agentless,去中心化。

模組化部署,可自定義模組。

支援playbook。

冪等性,多次執行結果相同。

服務端主機ip 192.168.124.89

這裡我們控制了兩台主機分別是192.168.124.177和192.168.124.178

**ansibleyum install -y ansible

首先用ssh生成公鑰和私鑰ssh-keygen -t rsa : 預設生成在root家目錄.ssh目錄下

ssh-copy-id -i 公鑰 [email protected]然後輸入密碼下次登入就不需要密碼了

這樣的話,登入就不需要密碼了

exit可以退出

配置檔案[webservers] #加乙個組名192.168.124.177192.168.124.178wq退出並儲存

ansible -m ping "組名" 來檢視是否通,如下圖成功了

我們也可以生成在178主機下的認證的金鑰

上面我們已經在177主機上生成了金鑰,我們現在去root家目錄.ssh目錄下刪除掉金鑰看還可不可以登入

當177主機刪除掉金鑰就不可以登入了,顯示連線失敗

服務就搭建完成了然後就可以對這兩台機器進行操作啦ansible webservers(組名) -u root -a(後面接引數)「reboot」比如說讓這兩台虛擬機器重啟都是可以的啦

使用ansible的cmdb外掛程式收集伺服器的資訊

wget tar zxvf ansible cmdb 1.17.tar.gz cd ansible cmdb 1.17 make install 2 配置好ansible的hosts檔案及金鑰認證等 金鑰之前在其它伺服器上已經完成了認證,這次只是拷過來,只需要在接下來的命令當中引用hosts和id ...

ansible模組的使用

可實現 1 需要ssh和python即可 2 無客戶端 3 功能強大,模組豐富 4 上手太容易,門檻低 5 基於python的開發 6 使用公司比較多,社群活躍 ansible基於ssh協議來管理機器,被管理主機需要開啟ssh服務 ansible執行時配置檔案的查詢順序 1 首先檢測ansible ...

使用ansible批量管理遠端伺服器

本地需要管理遠端的一批伺服器,主要執行以下任務 1 將本地的檔案複製到遠端所有伺服器 2 需要在遠端伺服器中執行乙個個命令 使用copy模組,可以將本地檔案一鍵複製到遠端伺服器 a後跟上引數,引數中指定本地檔案和遠端路徑 ansible通過ssh登入到遠端伺服器後,並不執行.bash profile...