1. 程式人生 > >Ansible基本介紹並在CentOS7上安裝Ansible且實現免互動管理

Ansible基本介紹並在CentOS7上安裝Ansible且實現免互動管理

一、Ansible概述
由於網際網路的快速發展導致產品更新換代速度逐漸加快,運維人員每天都要進行大量的維護操作,仍舊按照傳統方式進行維護會使得工作效率低下。這是部署自動化運維可以儘可能安全、高效地完成這些工作。
Ansible是基於Pythen開發,集合了眾多優秀運維工具的優點,實現了批量執行命令、部署程式、配置系統等功能。預設通過SSH協議進行遠端命令執行或下發配置,無需部署任何客戶端代理軟體,從而使得自動化環境部署變得更加簡單。可同時支援多臺主機並進行管理,使得管理主機更加便捷。
二、Ansible核心元件
Ansible可以看做是一種基於模組進行工作的框架進行工作的框架結構,批量部署能力就是由Ansible所執行的模組實現的。簡而言之Ansible是基於“模組”完成各種“任務”的。其基本框架結構如下圖。
Ansible基本介紹並在CentOS7上安裝Ansible且實現免互動管理


Ansible基本框架由六個部分組成:
Host inventory主機清單:用來定義Ansible所管理的主機,預設是在Ansible
的hosts配置檔案中定義被管理主機,同時也支援自定義動態主機清單和指定其他配置檔案的位置。
Connection plugins連線外掛:負責和被管理主機實現通訊。除支援使用SSH連線被管理主機外,Ansible還支援其他的連線方式,所以需要有連線外掛將各個主機用連線外掛連線到Ansible。
Playbooks劇本:用來集中定義Ansible任務的配置檔案,即將多個任務定義在一個劇本中Ansible自動執行,可以由控制主機針對多臺被管理主機同時執行多個任務。
Core modules核心模組:是Ansible自帶的模組,使用這些模組將資源分發到被管理主機,使其執行特定任務或匹配特定的狀態。
Custom modules自定義模組:用於完成模組功能的補充,可藉助相關外掛完成記錄日誌、傳送郵件等功能。
三、在CentOS7上安裝Ansible並實現免互動
實驗環境:3臺CentOS7
要求3臺虛擬機器在同一網段。
Ansible基本介紹並在CentOS7上安裝Ansible且實現免互動管理

這裡直接使用yum線上安裝Ansible。
Ansible基本介紹並在CentOS7上安裝Ansible且實現免互動管理
Ansible基本介紹並在CentOS7上安裝Ansible且實現免互動管理
Ansible基本介紹並在CentOS7上安裝Ansible且實現免互動管理
進入hosts檔案中定義所需要管理的伺服器IP地址。
Ansible基本介紹並在CentOS7上安裝Ansible且實現免互動管理
Ansible基本介紹並在CentOS7上安裝Ansible且實現免互動管理
生成金鑰和公鑰。公鑰需要給被管理的伺服器所知道。
Ansible基本介紹並在CentOS7上安裝Ansible且實現免互動管理
Ansible基本介紹並在CentOS7上安裝Ansible且實現免互動管理
在被管理的伺服器上就可以看到公鑰
Ansible基本介紹並在CentOS7上安裝Ansible且實現免互動管理
實驗能否與被管理的伺服器實現通訊。
Ansible基本介紹並在CentOS7上安裝Ansible且實現免互動管理
實現免互動