Ansible架構(gòu)與工作原理詳解_第1頁
Ansible架構(gòu)與工作原理詳解_第2頁
Ansible架構(gòu)與工作原理詳解_第3頁
Ansible架構(gòu)與工作原理詳解_第4頁
Ansible架構(gòu)與工作原理詳解_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 Page * MERGEFORMAT 11Ansible 架構(gòu)與工作原理詳解目 錄 TOC o 1-3 h z u HYPERLINK l _Toc44432747 一、Ansible基本架構(gòu) PAGEREF _Toc44432747 h 3 HYPERLINK l _Toc44432748 二、Ansible工作原理 PAGEREF _Toc44432748 h 4 HYPERLINK l _Toc44432749 三、ansible的七個(gè)命令 PAGEREF _Toc44432749 h 5Ansible 是一個(gè)模型驅(qū)動(dòng)的配置管理器,支持多節(jié)點(diǎn)發(fā)布、遠(yuǎn)程任務(wù)執(zhí)行。默認(rèn)使用 SSH 進(jìn)行遠(yuǎn)

2、程連接。無需在被管理節(jié)點(diǎn)上安裝附加軟件,可使用各種編程語言進(jìn)行擴(kuò)展。一、Ansible基本架構(gòu)上圖為ansible的基本架構(gòu),從上圖可以了解到其由以下部分組成:核心:ansible核心模塊(Core Modules):這些都是ansible自帶的模塊擴(kuò)展模塊(Custom Modules):如果核心模塊不足以完成某種功能,可以添加擴(kuò)展模塊插件(Plugins):完成模塊功能的補(bǔ)充劇本(Playbooks):ansible的任務(wù)配置文件,將多個(gè)任務(wù)定義在劇本中,由ansible自動(dòng)執(zhí)行連接插件(Connectior Plugins):ansible基于連接插件連接到各個(gè)主機(jī)上,雖然ansible

3、是使用ssh連接到各個(gè)主機(jī)的,但是它還支持其他的連接方法,所以需要有連接插件主機(jī)群(Host Inventory):定義ansible管理的主機(jī)二、Ansible工作原理以上是從網(wǎng)上找到的兩張ansible工作原理圖,兩張圖基本都是在架構(gòu)圖的基本上進(jìn)行的拓展。從上面的圖上可以了解到:1、管理端支持local 、ssh、zeromq 三種方式連接被管理端,默認(rèn)使用基于ssh的連接這部分對應(yīng)基本架構(gòu)圖中的連接模塊;2、可以按應(yīng)用類型等方式進(jìn)行Host Inventory(主機(jī)群)分類,管理節(jié)點(diǎn)通過各類模塊實(shí)現(xiàn)相應(yīng)的操作單個(gè)模塊,單條命令的批量執(zhí)行,我們可以稱之為ad-hoc;3、管理節(jié)點(diǎn)可以通過p

4、laybooks 實(shí)現(xiàn)多個(gè)task的集合實(shí)現(xiàn)一類功能,如web服務(wù)的安裝部署、數(shù)據(jù)庫服務(wù)器的批量備份等。playbooks我們可以簡單的理解為,系統(tǒng)通過組合多條ad-hoc操作的配置文件 。三、ansible的七個(gè)命令安裝完ansible后,發(fā)現(xiàn)ansible一共為我們提供了七個(gè)指令:ansible、ansible-doc、ansible-galaxy、ansible-lint、ansible-playbook、ansible-pull、ansible-vault 。這里我們只查看usage部分,詳細(xì)部分可以通過 “指令 -h” 的方式獲取。1、ansiblerootlocalhost # a

5、nsible -hUsage: ansible optionsansible是指令核心部分,其主要用于執(zhí)行ad-hoc命令,即單條命令。默認(rèn)后面需要跟主機(jī)和選項(xiàng)部分,默認(rèn)不指定模塊時(shí),使用的是command模塊。如:root361 # ansible 02 -a date02 | success | rc=0 Tue May 12 22:57:24 CST 2015不過默認(rèn)使用的模塊是可以在ansible.cfg 中進(jìn)行修改的。ansible命令下的參數(shù)部分解釋如下:2、ansible-docansible-doc -hUsage: ansible-doc options module.該指令

6、用于查看模塊信息,常用參數(shù)有兩個(gè)-l 和 -s ,具體如下:/列出所有已安裝的模塊# ansible-doc -l/查看具體某模塊的用法,這里如查看command模塊# ansible-doc -s command3、ansible-galaxyansible-galaxy -hUsage: ansible-galaxy init|info|install|list|remove -help options .ansible-galaxy 指令用于方便的從/ 站點(diǎn)下載第三方擴(kuò)展模塊,我們可以形象的理解其類似于centos下的yum、python下的pip或easy_install 。如下示例:

7、rootlocalhost # ansible-galaxy install aeriscloud.docker- downloading role docker, owned by aeriscloud- downloading role from /AerisCloud/ansible-docker/archive/v1.0.0.tar.gz- extracting aeriscloud.docker to /etc/ansible/roles/aeriscloud.docker- aeriscloud.docker was installed successfully這個(gè)安裝了一個(gè)aer

8、iscloud.docker組件,前面aeriscloud是galaxy上創(chuàng)建該模塊的用戶名,后面對應(yīng)的是其模塊。在實(shí)際應(yīng)用中也可以指定txt或yml 文件進(jìn)行多個(gè)組件的下載安裝。這部分可以參看官方文檔。4、ansible-lintansible-lint是對playbook的語法進(jìn)行檢查的一個(gè)工具。用法是ansible-lint playbook.yml 。5、ansible-playbook該指令是使用最多的指令,其通過讀取playbook 文件后,執(zhí)行相應(yīng)的動(dòng)作,這個(gè)后面會(huì)做為一個(gè)重點(diǎn)來講。6、ansible-pull該指令使用需要談到ansible的另一種模式pull 模式,這和我們平常經(jīng)常用的push模式剛好相反,其適用于以下場景:你有數(shù)量巨大的機(jī)器需要配置,即使使用非常高的線程還是要花費(fèi)很多時(shí)間;你要在一個(gè)沒有網(wǎng)絡(luò)連接的機(jī)器上運(yùn)行Anisble,比如在啟動(dòng)之后安裝。這部分也會(huì)單獨(dú)做一節(jié)來講。7、ansible-vaultansible-vault主要應(yīng)用于配置文件中含有敏感信息,又不希望他能被人看到,vault可以幫你加密/解密這個(gè)配置文件,屬高級用法。主要對于p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論