版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
云計算自動化運維云計算自動化運維項目4
Ansible基礎(chǔ)與部署大綱Ansible介紹Ansible環(huán)境搭建與配置基本Inventory文件編寫簡單Playbook的實現(xiàn)與執(zhí)行Ansible介紹Ansible目前是運維自動化工具中最簡單、容易上手的一款優(yōu)秀軟件,能夠用來管理各種資源。用戶可以使用Ansible自動部署應(yīng)用程序,以此實現(xiàn)IT基礎(chǔ)架構(gòu)的全面部署。Ansible相較于Chef、Puppet、SaltStack等C/S(客戶端/服務(wù)器)架構(gòu)的自動化工具來講,盡管Ansible的性能并不是最好的,但由于它基于SSH遠程會話協(xié)議,不需要客戶端程序,只要知道受管主機的賬號密碼,就能直接用SSH協(xié)議進行遠程控制,因此使用起來優(yōu)勢明顯。優(yōu)勢Ansible服務(wù)本身并沒有批量部署的功能,它僅僅是一個框架,真正具有批量部署能力的是其所運行的模塊。Ansible內(nèi)置了上千個模塊,會在安裝Ansible時一并安裝,通過調(diào)用指定的模塊,就能實現(xiàn)特定的功能。模塊Ansible發(fā)展歷史創(chuàng)始人:MichaelDeHaan(Cobbler與Func的作者)。2012-03-09,發(fā)布0.0.1版。2015-10-17,RedHat宣布收購(據(jù)說是1.5億美元)。官網(wǎng):/官方文檔:/同類自動化工具GitHub關(guān)注程度(2021-04-26)。Ansible特性Ansible是一個開源的,基于Python開發(fā)的自動化運維工具。Ansible中內(nèi)置豐富的模塊,可以滿足大部分運維需求。管理模式非常簡單,一條命令可以同時管理上千臺主機。無客戶端模式,底層通過SSH通信。Ansible發(fā)布后,也陸續(xù)被AWS、GoogleCloudPlatform、MicrosoftAzure、Cisco、HP、VMware、Twitter等大公司接納并投入使用。Ansible基本架構(gòu)Ansible是基于模塊工作的,本身沒有批量部署的能力,真正具有批量部署能力的是Ansible所運行的模塊,Ansible只是提供一種框架Ansible組件Ansible:Ansible核心程序。Playbooks:任務(wù)劇本(任務(wù)集),編排定義Ansible任務(wù)集的配置文件,由Ansible依次執(zhí)行多個任務(wù),通常是JSON格式的YML文件。Hostinventory:Ansible管理主機的清單,記錄由Ansible管理的主機信息,包括端口、密碼、IP等。Modules:核心模塊,主要操作是通過調(diào)用核心模塊來完成管理任務(wù)。CustomModules:自定義模塊,完成核心模塊無法完成的功能,支持多種語言。Connectionplugins:基于連接插件連接到各個主機上,即Ansible和Host通信使用,默認是使用SSH。Plugins:模塊功能的補充,如連接類型插件、循環(huán)插件、變量插件等,可借助于插件完成更豐富的功能。Playbooks:批量的命令文件。用戶請求發(fā)送給Ansible核心模塊,Ansible核心模塊通過Hostinventory模塊尋找需要運行的主機,然后通過Connectionplugins連接遠程的主機,并發(fā)送命令。Ansible使用插件來連接每一個被控制端Host,此外,也通過插件來記錄日志等信息。Ansible常用術(shù)語英文中文含義controlnode控制節(jié)點安裝了Ansible服務(wù)的主機,也稱為Ansible控制端,主要是用來發(fā)布運行任務(wù)、調(diào)用功能模塊,以及對其他主機進行批量控制managednode受控節(jié)點被Ansible服務(wù)所管理的主機,也被稱為受控主機或客戶端,是模塊命令的被執(zhí)行對象inventory主機清單受控節(jié)點的列表,可以是IP地址、主機名或者域名module模塊用于實現(xiàn)特定功能的代碼;Ansiblie默認帶有上千款模塊;可以在AnsibleGalaxy中選擇更多的模塊task任務(wù)要在Ansible客戶端上執(zhí)行的操作playbook劇本通過YAML語言編寫的可重復(fù)執(zhí)行的任務(wù)列表;把重復(fù)性的操作寫入到劇本文件中后,下次可直接調(diào)用劇本文件來執(zhí)行這些操作role角色從Ansible1.2版本開始引入的新特性,用于結(jié)構(gòu)化地組織劇本;通過調(diào)用角色可實現(xiàn)一連串的功能Ansible任務(wù)執(zhí)行模式Ansible任務(wù)執(zhí)行模式分為以下2種:ad-hoc模式(點對點模塊)使用單個模塊,支持批量執(zhí)行單條命令,相當與在bash中執(zhí)行一句Shell命令。playbook模式(劇本模式)Ansible主要的管理方式。通過多個task的集合完成一類功能,可以理解為多個ad-hoc的配置文件。大綱Ansible介紹Ansible環(huán)境搭建與配置基本Inventory文件編寫簡單Playbook的實現(xiàn)與執(zhí)行部署Ansible服務(wù)程序準備工作:規(guī)劃節(jié)點、關(guān)閉防火墻和SELinuxIP地址主機名節(jié)點0ansibleKylin服務(wù)器控制節(jié)點1client1Kylin服務(wù)器控制節(jié)點2client2Kylin服務(wù)器控制節(jié)點部署Ansible服務(wù)程序掛載鏡像配置本地倉庫安裝Ansible修改主機名配置Hosts配置免密登錄SSH登錄測試配置Ansible主機清單測試Ansible連接大綱Ansible介紹Ansible環(huán)境搭建與配置基本Inventory文件編寫簡單Playbook的實現(xiàn)與執(zhí)行Inventory(主機清單)介紹Ansible可以遠程操作一臺或一組主機,這些主機的清單是在inventory的文件中配置的。默認的inventory文件是/etc/ansible/hosts。也可以指定其他路徑下的inventory文件inventory作用:后續(xù)再通過執(zhí)行ansible命令執(zhí)行任務(wù)時自動包含主機清單中的主機,不用重復(fù)輸入受管主機的地址inventory文件基本內(nèi)容主機組定義:[groupname],如[webservers],[dbservers]主機組變量定義:[groupname:vars],如[webservers:vars],[all:vars]自定義主機變量定義:在主機后面添加key=value鍵值對,如http_port=90主機別名定義:使用ansible_host參數(shù)實現(xiàn)inventory中包含2個默認組:all和ungrouped每個主機可能同時屬于多個組ansible-inventory--grpah:以結(jié)構(gòu)化方式展示受管主機信息案例1--基于用戶實現(xiàn)免密登錄具體步驟:創(chuàng)建新用戶ansible_test修改SSH端口為2222重啟SSH服務(wù)更新Inventory文件免密登錄測試連接案例2-Ansible管理主機清單使用ansible-inventory查看主機組信息管理多個主機組使用別名管理主機變量管理Ansible臨時命令(ad-hoc)ansible臨時命令常用的語法格式為“ansible受管主機節(jié)點-m模塊名稱[-a模塊參數(shù)]必須指出受管主機,可以使用all指代全部,也可以用主機組名稱指代某一組的主機ansible-doc模塊名稱:查詢模塊信息ansible-doc-l:列出所有模塊信息ansibleall-mping,表示對所有主機調(diào)用ping模塊ansibleall-a“df-h”ansiblewebservers-mshell-a“free-m”僅僅執(zhí)行單個命令或調(diào)用某一模塊,無法滿足復(fù)雜工作需要,因此引入playbook大綱Ansible介紹Ansible環(huán)境搭建與配置基本Inventory文件編寫簡單Playbook的實現(xiàn)與執(zhí)行AnsiblePlaybook介紹playbook是ansible用于配置、部署、和管理被控節(jié)點的劇本playbook是由一個或多個play組成的列表,play的主要功能在于將事先歸并為一組的主機裝扮成事先通過ansible中的task定義好的角色。將多個play組織在一個playbook中,即可以讓它們聯(lián)合起來按事先編排的機制完成某一任務(wù)通過ansible-playbook命令運行Ansibleplaybook結(jié)構(gòu)Hosts執(zhí)行的遠程主機列表Tasks任務(wù)集Varniables內(nèi)置變量或自定義變量在playbook中調(diào)用Templates模板,即使用模板語法的文件,比如配置文件等Handlers和notity結(jié)合使用,由特定條件觸發(fā)的操作,滿足條件方才執(zhí)行,否則不執(zhí)行tags標簽,指定某條任務(wù)執(zhí)行,用于選擇運行playbook中的部分代碼。ansibleplaybook語法YAML語言編寫的Ansible劇本文件會按照從上到下的順序自動運行,格式有嚴格的要求以連續(xù)三個連子號(---)區(qū)分多個play。以連續(xù)三個點(...)用來表示play的結(jié)尾,也可省略。次行開始正常寫playbook的內(nèi)容,一般都會寫上描述該playbook的功能。使用#號注釋代碼。縮進必須統(tǒng)一,不能空格和tab混用??s進的級別也必須是一致的,同樣的縮進代表同樣的級別,程序判別配置的級別是通過縮進結(jié)合換行實現(xiàn)的。YAML文件內(nèi)容和Linux系統(tǒng)大小寫判斷方式保持一致,是區(qū)分大小寫的,k/v的值均需大小寫敏感k/v的值可同行寫也可以換行寫。同行使用:分隔。v可以是個字符串,也可以是一個列表一個完整的代碼塊功能需要最少元素包括name:task在運行界面中,綠色表示成功,黃色表示執(zhí)行成功并進行了修改,而紅色則表示執(zhí)行失敗。一個playbook示意[root@linuxprobe~]#vimpackages.yml----name:安裝軟件包hosts:dev,test,prodtasks:-name:oneyum:name:mariadb
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026廣東佛山順德區(qū)青云中學臨聘高中物理教師1名考試備考試題及答案解析
- 2026年四川中煙工業(yè)有限責任公司高層次人才招聘考試參考試題及答案解析
- 2025年臺州市腫瘤醫(yī)院醫(yī)共體濱海分院招聘編制外工作人員2人考試備考試題及答案解析
- 2026年甘肅隴南西和縣城北幼兒園招聘公益性崗位人員考試備考試題及答案解析
- 2026貴州銅仁市第二人民醫(yī)院收費室見習生招募考試參考題庫及答案解析
- 2026北京資產(chǎn)管理有限公司業(yè)務(wù)總監(jiān)招聘1人考試參考題庫及答案解析
- 2026重慶江津區(qū)社區(qū)專職工作人員公開招聘642人考試備考試題及答案解析
- 2026年安陽幼兒師范高等??茖W校單招綜合素質(zhì)考試備考試題帶答案解析
- 2026浙江杭州市上城區(qū)發(fā)展和改革局編外招聘1人考試備考題庫及答案解析
- 2026新疆博爾塔拉州博樂市農(nóng)佳樂農(nóng)業(yè)科技有限公司招聘4人考試備考題庫及答案解析
- 手術(shù)部(室)醫(yī)院感染控制標準WST855-2025解讀課件
- 律師團隊合作規(guī)范及管理辦法
- 二氧化硅氣凝膠的制備技術(shù)
- 臨床微生物標本采集運送及處理
- 軟件系統(tǒng)運維操作手冊
- 常規(guī)體檢指標講解
- 新人教版高中數(shù)學必修第二冊-第八章 立體幾何初步 章末復(fù)習【課件】
- GB/T 157-2025產(chǎn)品幾何技術(shù)規(guī)范(GPS)圓錐的錐度與錐角系列
- TD/T 1041-2013土地整治工程質(zhì)量檢驗與評定規(guī)程
- 2025年上海市崇明區(qū)高考英語一模試卷
- 電子公司生產(chǎn)部年終工作總結(jié)
評論
0/150
提交評論