01-初步認(rèn)識Ansible

Ansible

初步認(rèn)識Ansible

什么是Ansible

Ansible 是一個配置管理和應(yīng)用部署工具,功能類似于目前業(yè)界的配置管理工具 Chef,Puppet,Saltstack。Ansible 是通過 Python 語言開發(fā)。Ansible 平臺由 Michael DeHaan 創(chuàng)建,他同時也是知名軟件 Cobbler 與 Func 的作者。Ansible 的第一個版本發(fā)布于 2012 年 2 月,相比較其它同類產(chǎn)品來說,Ansible 還是非常年輕的,但這并不影響他的蓬勃發(fā)展與大家對他的熱愛。

Ansible 默認(rèn)通過 SSH 協(xié)議管理機(jī)器,所以 Ansible 不需要安裝客戶端程序在服務(wù)器上。您只需要將 Ansible 安裝在一臺服務(wù)器,在 Ansible 安裝完后,您就可以去管理控制其它服務(wù)器。不需要為它配置數(shù)據(jù)庫,Ansible 不會以 daemons 方式來啟動或保持運(yùn)行狀態(tài)。

Ansible目標(biāo)

Ansible 的目標(biāo)有如下:

  • 自動化部署應(yīng)用
  • 自動化管理配置
  • 自動化的持續(xù)交付
  • 自動化的(AWS)云服務(wù)管理。

Ansible是怎樣工作

在管理節(jié)點(diǎn)上運(yùn)行Ansible Playbook,它查看您在playbook中定義的命令參數(shù),并通知我們定位到網(wǎng)絡(luò)組中的節(jié)點(diǎn)。 Ansible然后讀取主機(jī)清單以查找分配給Web組的節(jié)點(diǎn)。在這一點(diǎn)上,Ansible已經(jīng)準(zhǔn)備好開始工作,所以它將通過ssh遠(yuǎn)程連接到定義的機(jī)器,通常你會想要通過預(yù)共享密鑰建立一些類型的ssh信任,這樣你就不必在進(jìn)行ssh登陸的時候輸入密碼。然后Ansible將開始逐步執(zhí)行playbook中的任務(wù),一次一個任務(wù),從頂部到底部的順序遍歷它們,就像你手動登錄執(zhí)行任務(wù)一樣。所以,它安裝軟件包,更新配置文件,使用git部署我們的網(wǎng)站代碼,最后啟動我們的Web服務(wù)。當(dāng)Ansible很愉快的把一切都按預(yù)期的完成,你會得到一個執(zhí)行成功的狀態(tài)報告。

ansible執(zhí)行過程.gif

對管理主機(jī)的要求

目前,只要機(jī)器上安裝了 Python 2.6以上或 Python 3.5以上 (windows系統(tǒng)不可以做控制主機(jī)),都可以運(yùn)行Ansible.
主機(jī)的系統(tǒng)可以是 Red Hat, Debian, CentOS, OS X, BSD的各種版本,等等.

對節(jié)點(diǎn)主機(jī)的要求

通常我們使用 ssh 與托管節(jié)點(diǎn)通信,默認(rèn)使用 sftp.如果 sftp 不可用,可在 ansible.cfg 配置文件中配置成 scp 的方式. 在托管節(jié)點(diǎn)上也需要安裝 Python 2.4 或以上的版本.如果版本低于 Python 2.5 ,還需要額外安裝一個模塊:python-simplejson。

Ansible安裝

Ansible支持yum、aptget、dnf等包管理工具安裝、支持pip安裝、也支持源碼安裝。如果沒有特殊需求,這里我們一般建議采用包管理工具安裝。

目前最新版本的Ansible為2.6.2版本。這里我們通過命名可以查看。

ansible --version
ansible 2.6.2
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /bin/ansible
  python version = 2.7.5 (default, Aug  4 2017, 00:39:18) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)]
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容