




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
變量與事實任務4:特殊變量目錄/Contents010203特殊變量簡介groups變量group_names變量04inventory_hostname變量05hostvars變量01特殊變量簡介特殊變量簡介特殊變量是Ansible中預定義的一組變量,用于存儲有關目標主機、執(zhí)行環(huán)境和運行狀態(tài)的信息。這些變量可以在Playbook或模板中直接引用,而無須事先定義或聲明。通過特殊變量可以管理和操作主機的連接方式、事實信息,以及控制Ansible的行為和輸出。常見的特殊變量類型如表所示:序號特殊變量類型描述1ConnectionVariables連接類型的特殊變量,用于控制連接目標主機的方式和參數(shù),例如ansible_connection、ansible_host、ansible_become_user、ansible_user、ansible_python_interpreter等2FactsVariables事實變量,用于存儲目標主機的事實信息,例如ansible_facts、ansible_local等3MagicVariables魔術變量或者魔法變量,用于控制Ansible的行為和輸出,例如ansible_loop、ansible_skip_tags、ansible_play_batch、groups、group_names、inventory_hostname、hostvars等02groups變量groups變量groups變量用于表示當前主機所屬的所有組,它是一個字典類型的變量,其中鍵是組名,值是該組中所有主機的列表。比如清單文件中有兩個組,分別是webserver和dbserver。[webserver][dbserver]在Playbook中使用groups變量,其中包含所有主機組的名稱,以及對應組內(nèi)的所有主機信息。{"all":["","","",""],"webserver":["",""],"dbserver":["",""]}groups變量使用groups變量在Playbook中輸出webserver組的所有主機。-name:Exampleplaybookhosts:webservertasks:-name:Showallhostsinwebserversgroupdebug:msg:"{{groups['webserver']}}"示例用于顯示"webserver"主機組中的所有主機。Debug是Ansible的內(nèi)置模塊,用于打印調(diào)試信息。msg:“{{groups[‘webserver’]}}”是debug模塊的參數(shù),用于指定要打印的消息。{{groups['webserver']}}是一個Jinja2模板表達式,用于獲取名為"webserver"的主機組中的所有主機。groups是一個Ansible內(nèi)置的變量,用于訪問主機組信息。TASK[Showallhostsinwebserversgroup]ok:[]=>{"msg":["",""]}執(zhí)行Playbook,在名為“webserver”的主機組中找到了兩個主機,并將它們作為消息打印出來。03group_names變量group_names變量groups變量用于表示當前主機所屬的所有組,它是一個字典類型的變量,其中鍵是組名,值是該組中所有主機的列表。比如清單文件中有兩個組,分別是webserver和dbserver。[webserver][dbserver][devops][prod:children]webserverdbservergroup_names變量在webserver組執(zhí)行任務,使用debug模塊輸出webserver組中兩個主機所屬的所有組。-name:Exampleplaybookhosts:webservertasks:-name:Showallgroupsthecurrenthostbelongstodebug:msg:"{{group_names}}"執(zhí)行Playbook任務輸出結果:ok:[]=>{"msg":["prod","webserver"]}ok:[]=>{"msg":["prod","webserver"]}04inventory_hostname變量inventory_hostname變量inventory_hostname變量用于表示當前主機在清單文件中的名稱,該變量可以在Playbook中動態(tài)地引用主機名。下面的Playbook示例是在web組中安裝Apache和Nginx
Web服務器軟件,并根據(jù)當前主機的名稱來決定要在哪個主機上執(zhí)行哪個任務。-name:Installwebserverhosts:webtasks:-name:InstallApachewebserverapt:name:apache2state:presentwhen:inventory_hostname=='webserver1'-name:InstallNginxwebserverapt:name:nginxstate:presentwhen:inventory_hostname=='webserver2'在示例中,when關鍵字用于條件判斷,使用inventory_hostname變量來檢查當前正在處理的主機是webserver1還是webserver2,只有當條件為真時才會執(zhí)行相應的任務。05hostvars變量hostvars變量hostvars變量包含受管主機的變量,可以用于獲取另一個受管主機的變量的值。它是一個字典,其中的鍵是其他主機的名稱,值是一個字典,其中包含相應主機的所有變量。這使得可以在任務中引用其他主機的變量。比如清單文件中有一個名為webserver的主機組,其中包含兩個主機和。[webserver]hostvars變量在下面的示例中,使用hostvars['']引用了主機的所有變量,并使用['ansible_default_ipv4']['address']引用了該主機的IPv4地址。最后,通過debug模塊輸出了這個地址。-name:Exampleplaybookhosts:webservertasks:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025湖南永州市教育局直屬學校(單位)招聘教師46人模擬試卷及答案詳解(考點梳理)
- 2025年延邊大學急需緊缺教師崗位招聘(3號)(47人)考前自測高頻考點模擬試題及答案詳解(全優(yōu))
- 2025貴州普定縣人民法院招聘公益性崗位人員考前自測高頻考點模擬試題及答案詳解(奪冠)
- 2025年臨沂市農(nóng)業(yè)學校公開招聘教師(8名)考前自測高頻考點模擬試題及答案詳解(歷年真題)
- 2025年第2批次浙江寧波前灣產(chǎn)業(yè)集團有限公司招聘9人模擬試卷完整答案詳解
- 2025年山東省公費師范生(定向臨沂就業(yè))競崗選聘專項考試考前自測高頻考點模擬試題附答案詳解(模擬題)
- 2025內(nèi)蒙古自治區(qū)直屬廳局某協(xié)會招聘1人模擬試卷及參考答案詳解一套
- 2025年嘉興海寧市中心醫(yī)院公開招聘高層次急需衛(wèi)技人員4人考前自測高頻考點模擬試題及答案詳解(必刷)
- 2025貴州黔西南州教育局公益性崗位招聘4人模擬試卷帶答案詳解
- 2025年甘肅秦融文化傳媒有限公司招聘10人考前自測高頻考點模擬試題及答案詳解(易錯題)
- 專業(yè)心理咨詢服務協(xié)議
- 《民法學》考研(第2版)馬工程配套考試題及答案
- 《交易與金融市場》課件
- 快遞公司安全檢查與事故隱患排查制度模版(2篇)
- 時代與變革-為人生而藝術 課件-2023-2024學年高一上學期美術人美版(2019)必修美術鑒賞
- 浙江省工貿(mào)企業(yè)電氣隱患排查技術服務規(guī)范
- 零售渠道創(chuàng)新案例
- 手術體位側臥擺放
- 2024-2025學年七年級道德與法治上學期第一次月考模擬卷(統(tǒng)編版2024新教材)
- 課程綱要(知識清單)人教版美術五年級上冊
- 新媒體數(shù)據(jù)分析 課件 項目一 新媒體數(shù)據(jù)分析認知
評論
0/150
提交評論