2.Ansible是如何工作的與安裝方式

特點

python開發(fā)
Ansible 是 python語言編寫的,而Devops在國內已然是一種趨勢,python逐步普及,運維人員自己開發(fā)工具的門檻降低,得益于此,方便對Ansible進行二次開發(fā)

Agentless
Ansible 主推的賣點是其無需任何Damon維護進程即可實現相互間的通信,且通信方式基于SSH,同時因為SSH是每臺linux主機系統(tǒng)必裝的軟件,所以Ansible無需在遠程主機端安裝任何額外的進程,即可實現Agentless,進而助力其實現去中心化的思想。

Ansible的組成部分

Ansible 組成部分
  • playbooks:
    任務劇本,編排Ansible任務集的配置文件,由ansible會順序執(zhí)行,通常是Json格式的YML文件。
  • INVENTORY:
    ansible主機管理清單
  • MODULES:
    Ansible執(zhí)行命令的功能模塊,多數為內置的核心模塊,也可以自定義,比如說user、yum、shell等
  • PLUGINS:
    模塊功能的補充,如連續(xù)類型插件、循環(huán)插件、變量插件等,不常用
  • API:
    供第三方程序調用的應用程序編程接口
  • ANSIBLE核心:
    我們可以理解為ANSIBLE的命令工具,所有命令的執(zhí)行通過該工具去調用INVENTORY、API、MODULES、PLUGINS等

ansible的執(zhí)行邏輯

Ansible執(zhí)行邏輯

使用者使用ansible或者ansible-playbooks(會額外讀取playbook文件)在服務器終端輸入的Ansible命令集或者playbook后,Ansible會遵循預先編排的規(guī)則將PLAYbook逐條拆解為Play,再將Play組織成Ansible可以識別的任務(Task),隨后調用任務涉及到的所有MODULES及PLUGINS,根據INVENTORY中定義的主機列表通過SSH協(xié)議將任務集以臨時文件或者命令的形式傳輸到遠程客戶端并返回結果,如果是臨時文件則執(zhí)行完畢后自動刪除。

需要安裝些什么

Ansible默認通過 SSH 協(xié)議管理機器.
安裝Ansible之后,不需要啟動或運行一個后臺進程,或是添加一個數據庫.只要在一臺電腦(可以是一臺筆記本)上安裝好,就可以通過這臺電腦管理一組遠程的機器.在遠程被管理的機器上,不需要安裝運行任何軟件,因此升級Ansible版本不會有太多問題.

選擇哪一個版本?

因為Ansible可以很簡單的從源碼運行,且不必在遠程被管理機器上安裝任何軟件,很多Ansible用戶會跟進使用開發(fā)版本.
Ansible一般每兩個月出一個發(fā)行版本.小bugs一般在下一個發(fā)行版本中修復,并在穩(wěn)定分支中做backports.大bugs會在必要時出一個維護版本,不過這不是很頻繁.

對管理主機的要求

目前,只要機器上安裝了 Python 2.6 或 Python 2.7 (windows系統(tǒng)不可以做控制主機),都可以運行Ansible.

安裝

Ansible被Redhat紅帽官方收購后,其安裝源被收錄在EPEL中,如已安裝EPEL可直接通過yum安裝,或者通過PIP 或者easy_install 的python第三方包管理器也可以安裝Ansible。

pip安裝方式

安裝python-pip及python-devel程序包
yum install -y python-pip python-devel -y 
如果是centos7 ,請先安裝EPEL擴展源
sudo yum -y install epel-release,再執(zhí)行上面的命令

安裝Ansible服務
//安裝前請確認服務器的gcc、glibc 開發(fā)環(huán)境均已安裝,系統(tǒng)幾乎所有的軟件包編譯環(huán)境均基于gcc,如不確認,可以先執(zhí)行如下命令:
yum install -y gcc glibc-devel zlib-devel rpm-build openssl-devel 
升級本地pip至最新版本
pip install --upgrade pip
安裝ansible服務
pip install ansible --upgrade

驗證:
ansible --versions

yum安裝方式

//安裝前請確認服務器的gcc、glibc 開發(fā)環(huán)境均已安裝,系統(tǒng)幾乎所有的軟件包編譯環(huán)境均基于gcc,如不確認,可以先執(zhí)行如下命令:
yum install -y gcc glibc-devel zlib-devel rpm-build openssl-devel 
sudo yum -y install epel-release #安裝EPEL擴展源
yum install -y ansible 
驗證:
ansible --version

EPEL : (Extra Packages for Enterprise Linux,企業(yè)版Linux的額外軟件包) 是由Fedora小組維護的一個軟件倉庫項目,為RHEL/CENTOS提供他們默認不提供的軟件包

建議讀者使用yum 安裝方式,因為后面本人會根據yum安裝方式為大家介紹ansible的配置文件

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • ansible 系統(tǒng)架構 ansible簡介ansible是新出現的自動化運維工具,ansible是一個配置管理和...
    運維阿文閱讀 9,841評論 1 53
  • 一.ansible (1) ansible: ansible是一款新出現的自動化運維系統(tǒng),基于python開發(fā)并集...
    楠人幫閱讀 2,132評論 0 8
  • 安裝ansible 1.yum安裝:RHEL(Centos)7版本: 2.Apt(Ubuntu)安裝方式: 3.h...
    愛吃土豆的程序猿閱讀 11,223評論 0 12
  • 這是來北京后的第166天。回家的車程有2個小時,而我已經習慣了一個人上下班和難得搶到座位的日子。 很開心的是,在大...
    oriel閱讀 284評論 4 4
  • 提到童年我們都能想到的一些共性回憶好像是這樣的! 除了這些,我們每個人的童年還伴隨有一些自己個性的,有趣的事情。...
    江智勇閱讀 337評論 0 0

友情鏈接更多精彩內容