版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
變量與事實(shí)任務(wù)2:主機(jī)(組)變量、注冊(cè)變量01主機(jī)和主機(jī)組變量主機(jī)和主機(jī)組變量在Ansible中,可以通過(guò)多種方式定義變量,可以在Playbook中定義、在清單文件中定義或者在任務(wù)中定義,而使用group_vars和host_vars目錄定義變量可以使代碼更加模塊化、可讀性更強(qiáng)、可維護(hù)性更高,并且能夠更好地組織和共享變量。定義主機(jī)和主機(jī)組變量的首選做法是在與清單文件相同的目錄中,創(chuàng)建group_vars和host_vars兩個(gè)目錄,這兩個(gè)目錄分別包含用于定義組變量和主機(jī)變量的文件。主機(jī)和組變量文件必須使用YAML語(yǔ)法,其有效的文件擴(kuò)展名包括.yml、.yaml、.json等,但擴(kuò)展名不是必需的。主機(jī)和主機(jī)組變量使用group_vars和host_vars目錄定義基于主機(jī)和主機(jī)組的變量文件時(shí),group_vars目錄中定義的變量將自動(dòng)應(yīng)用于組內(nèi)的所有主機(jī),host_vars目錄中定義的變量?jī)H應(yīng)用于指定的主機(jī)。典型的group_vars和host_vars目錄結(jié)構(gòu)和變量文件如下所示:├──group_vars│├──all││├──vars.yml││└──secrets.yml│├──db││└──vars.yml│└──web│└──vars.yml├──host_vars│├──mysqlserver.yml│├──pgserver.yml│├──│└──├──playbook.yml└──inventory└──ansible.cfg主機(jī)和主機(jī)組變量在group_vars目錄中創(chuàng)建名為all的子目錄,它可以為所有主機(jī)設(shè)置全局變量。這意味著在all目錄下的變量文件中定義的變量將適用于所有主機(jī),而不僅僅是某個(gè)組或某個(gè)主機(jī)。在下面的清單文件中,有兩個(gè)主機(jī)組,分別是web組和db組,web組包括兩個(gè)主機(jī),分別是、,db組也包括兩個(gè)主機(jī),分別是mysqlserver、pgserver。[web][db]mysqlserverpgserver主機(jī)和主機(jī)組變量group_vars目錄包含按組定義的變量文件,可以在group_vars目錄中分別創(chuàng)建名為web和db的YAML格式文件來(lái)定義與組相關(guān)的變量。#group_vars/web.ymlhttp_port:80https_port:443#group_vars/db.ymlmysql_version:80pg_version:12host_vars目錄包含按主機(jī)定義的變量文件??梢栽趆ost_vars目錄中創(chuàng)建一個(gè)名為的YAML格式文件來(lái)定義與對(duì)應(yīng)主機(jī)相關(guān)的變量。root_document:/var/www/htmlconfig_file:vhost.conf主機(jī)和主機(jī)組變量在Playbook文件中編寫(xiě)任務(wù),可以直接調(diào)用變量。----name:Exampleplaybook1hosts:webtasks:-name:PrintHTTPportandHTTPdocumentdebug:msg:"HTTPportis{{http_port}},HTTPdocumentis{{root_document}},HTTPconfigurationfileis{{config_file}}"-name:Exampleplaybook2hosts:dbtasks:-name:Displaydatabaseserverversiondebug:msg:"MySQLversionis{{mysql_version}}andPostgreSQLversionis{{pg_version}}"02注冊(cè)變量注冊(cè)變量注冊(cè)變量是Ansible中的一種特殊變量,用于保存任務(wù)執(zhí)行后產(chǎn)生的輸出結(jié)果。運(yùn)維工程師或系統(tǒng)工程師通常會(huì)根據(jù)模塊的返回值來(lái)判斷自動(dòng)化任務(wù)執(zhí)行成功或失敗,但模塊返回值通常不能滿足這個(gè)需求,這時(shí)就可以使用注冊(cè)變量來(lái)保存任務(wù)的輸出結(jié)果,以便在后續(xù)任務(wù)中使用。注冊(cè)變量的主要作用是在后續(xù)的任務(wù)或模塊中使用模塊的執(zhí)行結(jié)果,實(shí)現(xiàn)模塊之間的數(shù)據(jù)共享。通過(guò)使用注冊(cè)變量,可以避免在不同的模塊中重復(fù)執(zhí)行相同的任務(wù)。同時(shí),注冊(cè)變量也可以用于任務(wù)執(zhí)行狀態(tài)的檢查和錯(cuò)誤信息的處理,以提高任務(wù)執(zhí)行的可靠性和穩(wěn)定性。注冊(cè)變量可以是簡(jiǎn)單變量、列表變量、字典變量或復(fù)雜嵌套數(shù)據(jù)結(jié)構(gòu)。注冊(cè)變量存儲(chǔ)在內(nèi)存中,只在當(dāng)前Playbook運(yùn)行期間有效。注冊(cè)變量注冊(cè)變量使用register關(guān)鍵字在任務(wù)中定義,任務(wù)可將結(jié)果保存到指定的變量中。在示例中,第1個(gè)任務(wù)使用shell模塊運(yùn)行了df-h命令,并將輸出結(jié)果存儲(chǔ)到了一個(gè)名為disk_space的注冊(cè)變量中;在第2個(gè)任務(wù)中,使用debug模塊輸出了disk_space變量的stdout_lines屬性,該屬性包含df-h命令的輸出結(jié)果;第3個(gè)任務(wù)使用stat模塊檢查/path/to/file.txt這個(gè)文件是否存在,并將結(jié)果存儲(chǔ)在file_stat變量中;第4個(gè)任務(wù)使用debug模塊輸出一條消息,消息內(nèi)容是Fileexists:{{file_stat.stat.exists}},這里使用了{(lán){file_stat.stat.exists}}來(lái)判斷文件是否存在,如果存在則輸出true,否則輸出false。-name:Getdiskspaceshell:df-hregister:disk_space-name:Printdiskspacedebug:var:disk_space.stdout_lines-name:Checkiffileexistsstat:pa
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 銷售演說(shuō)技巧提升模板
- 山西傳媒學(xué)院《影視心理分析》2023-2024學(xué)年第一學(xué)期期末試卷
- 山西財(cái)貿(mào)職業(yè)技術(shù)學(xué)院《數(shù)字邏輯與數(shù)字系統(tǒng)設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 山西財(cái)經(jīng)大學(xué)《電力系統(tǒng)自動(dòng)化》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年超高功率大噸位電弧爐合作協(xié)議書(shū)
- 山東政法學(xué)院《金融誠(chéng)信學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 山東英才學(xué)院《零售學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 合同范例與制定合同關(guān)系
- 緊固件合同范例
- 運(yùn)輸沙土合同范例
- 2024年政府補(bǔ)貼協(xié)議書(shū)
- 2024年六年級(jí)語(yǔ)文下冊(cè)全冊(cè)單元教材分析
- 2024新蘇教版一年級(jí)數(shù)學(xué)冊(cè)第五單元第1課《認(rèn)識(shí)11~19》課件
- 《Photoshop CC圖形圖像處理實(shí)例教程》全套教學(xué)課件
- 2024-2030年中國(guó)永磁耦合器行業(yè)經(jīng)營(yíng)優(yōu)勢(shì)及競(jìng)爭(zhēng)對(duì)手現(xiàn)狀調(diào)研報(bào)告
- 福建省泉州市安溪縣實(shí)驗(yàn)小學(xué)2023-2024學(xué)年三年級(jí)上學(xué)期素養(yǎng)比賽語(yǔ)文試卷
- 小學(xué)科學(xué)教科版五年級(jí)上冊(cè)全冊(cè)易錯(cuò)知識(shí)點(diǎn)專項(xiàng)練習(xí)(判斷選擇-分單元編排-附參考答案和點(diǎn)撥)
- NB-T47003.1-2009鋼制焊接常壓容器(同JB-T4735.1-2009)
- 法律邏輯簡(jiǎn)單學(xué)(山東聯(lián)盟)智慧樹(shù)知到期末考試答案章節(jié)答案2024年曲阜師范大學(xué)
- 惠州市惠城區(qū)2022-2023學(xué)年七年級(jí)上學(xué)期期末教學(xué)質(zhì)量檢測(cè)數(shù)學(xué)試卷
- 北京市西城區(qū)2022-2023學(xué)年七年級(jí)上學(xué)期期末英語(yǔ)試題【帶答案】
評(píng)論
0/150
提交評(píng)論