Linux自動化運維(Shell與Ansible)(微課版) 課件 6-4-Ansible配置文件及主要參數(shù)_第1頁
Linux自動化運維(Shell與Ansible)(微課版) 課件 6-4-Ansible配置文件及主要參數(shù)_第2頁
Linux自動化運維(Shell與Ansible)(微課版) 課件 6-4-Ansible配置文件及主要參數(shù)_第3頁
Linux自動化運維(Shell與Ansible)(微課版) 課件 6-4-Ansible配置文件及主要參數(shù)_第4頁
Linux自動化運維(Shell與Ansible)(微課版) 課件 6-4-Ansible配置文件及主要參數(shù)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Ansible自動化概述任務(wù)4:Ansible配置文件及主要參數(shù)目錄/Contents01Ansible配置文件02ansible.cfg主要參數(shù)01Ansible配置文件Ansible配置文件Ansible為管理控制節(jié)點和受管節(jié)點之間的交互行為,提供了多種工具,包括INI格式的ansible.cfg文件、環(huán)境變量、命令行選項、Playbook的關(guān)鍵字和變量等。在所有這些工具中,每個工具的優(yōu)先級都不同,Ansible會按照優(yōu)先級查找配置信息。常見的方法是使用配置文件ansible.cfg來控制Ansible的行為。當(dāng)Ansible執(zhí)行時,它會按照以下順序搜索并使用配置文件:如果設(shè)置了環(huán)境變量ANSIBLE_CONFIG,則使用該變量指定的文件作為配置文件。比如/opt/ansible/ansible.cfg。如果當(dāng)前目錄中存在ansible.cfg文件,則使用該文件作為配置文件,如/home/rhce/auto-manager/ansible.cfg。如果用戶家目錄中存在.ansible.cfg文件,則使用該文件作為配置文件,如/home/rhce/.ansible.cfg。如果在上述3個位置都沒有找到配置文件,則使用默認配置文件/etc/ansible/ansible.cfg。Ansible配置文件用戶可以在控制節(jié)點上的多個位置選擇配置文件,按照最高優(yōu)先級到最低優(yōu)先級(最容易被覆蓋)的順序,ansible.cfg文件將按以下順序進行搜索:ANSIBLE_CONFIG環(huán)境變量指定的ansible.cfg文件→執(zhí)行Ansible命令的目錄中的ansible.cfg文件→當(dāng)前用戶家目錄中~/.ansible.cfg→/etc/ansible/ansible.cfg。設(shè)置ANSIBLE_CONFIG環(huán)境變量,使用export命令可以將ANSIBLE_CONFIG環(huán)境變量設(shè)置為指定的配置文件路徑:[rhce@ansibleplaybook]$exportANSIBLE_CONFIG=/opt/project/ansile/ansible.cfg運行以下命令檢查Ansible是否使用了新的配置文件路徑:[rhce@ansibleplaybook]$ansible--version|grep-icfgconfigfile=/opt/project/ansile/ansible.cfg如果輸出中顯示了新的配置文件路徑,則表示ANSIBLE_CONFIG環(huán)境變量已成功設(shè)置。使用export命令和-n選項可以取消ANSIBLE_CONFIG環(huán)境變量的設(shè)置:[rhce@ansibleplaybook]$export-nANSIBLE_CONFIG=/opt/project/ansile/ansible.cfg02ansible.cfg主要參數(shù)ansible.cfg文件ansible.cfg是Ansible的主配置文件,它可以控制Ansible的行為和運行方式。ansible-config命令用于查看和管理Ansible的配置信息。通過這個命令,用戶可以獲取Ansible的配置文件路徑、查看配置項的值、修改配置項的值等。ansibe.cfg文件采用INI格式存儲配置數(shù)據(jù)。在文件中,用方括號標(biāo)識的部分稱為配置段。每個配置段都有一組相關(guān)的配置選項,用于控制Ansible的不同行為和功能。#生成一個禁用了所有默認配置的ansible.cfg文件ansible-configinit--disabled>ansible.cfg#生成禁用了所有默認配置的ansible.cfg文件,其中包含所有可能的配置項ansible-configinit--disabled-tall>ansible.cfgansible.cfg文件ansible.cfg常用配置段詳細信息:序號配置段名稱描述1[defaults]默認配置段,該配置段設(shè)置的值會作為全局默認值,包含一些常用的配置指令,如清單文件路徑、遠程用戶、主機密鑰檢查等參數(shù)。主要的指令有inventory、remote_user、ask_pass、gather_facts、host_key_checking等2[privilege_escalation]特權(quán)升級配置段,包含一些特權(quán)升級相關(guān)的配置指令,如使用sudo或su提升執(zhí)行權(quán)限等。主要的指令有become、become_method、become_user、become_ask_pass等3[persistent_connection]持久化連接配置段,包含一些持久化連接相關(guān)的配置指令,如ControlMaster、ControlPath和ControlPersist等指令4[connection]默認連接配置段,包含一些連接類型相關(guān)的配置指令ControlMaster、ControlPath和ControlPersist等指令5[selinux]SELinux配置段,包含一些SELinux相關(guān)的配置選項,如在執(zhí)行任務(wù)時是否啟用SELinux策略等ansible.cfg文件ansible.cfg常用配置段詳細信息:序號配置段名稱描述6[diff]差異配置段,包含一些控制任務(wù)運行時顯示差異信息的配置選項,如任務(wù)運行時是否顯示差異信息等7[inventory]清單文件配置段,包含一些與Ansible清單文件相關(guān)的配置選項,如清單文件路徑、默認的清單文件名等8[galaxy]Galaxy配置段,包含一些與AnsibleGalaxy相關(guān)的配置選項,如默認的角色、下載路徑等9[netconf_connection]NETCONF連接配置段,包含一些與NETCONF連接相關(guān)的配置選項,如默認的NETCONF端口號和用戶名等10[paramiko_connection]Paramiko連接配置段,Paramiko是一個用于實現(xiàn)SSH協(xié)議的Python庫,是Ansible的一種連接插件。該配置段包含banner_timeout、look_for_keys、use_rsa_sha2_algorithms等指令11[jinja2]Jinja2配置段,包含一些與Jinja2相關(guān)的配置選項,如Jinja2模板文件路徑等12[tags]標(biāo)簽配置段,包含一些與標(biāo)簽相關(guān)的配置選項,如默認的標(biāo)簽列表等連接設(shè)置Ansible采用無代理模式自動化管理受管節(jié)點,默認情況下,Ansible使用SSH連接受管主機??刂艫nsible如何連接受管主機的指令在[defaults]部分設(shè)置。當(dāng)Ansible控制主機連接受管主機時,默認使用的用戶名與運行Ansible命令的本地用戶的名稱相同。若要指定不同的遠程用戶,需要將remote_user設(shè)置為該用戶的名稱。[defaults]inventory=./inventoryremote_user=rhceask_pass=false如果設(shè)置指令ask_pass=true,遠程連接的用戶需要輸入賬戶和密碼。如果Ansible控制節(jié)點的管理用戶配置了SSH私鑰,通過指令ask_pass=false,在受管主機上進行遠程用戶身份驗證,可以實現(xiàn)免密碼登錄。sudo提權(quán)sudo是一種在Linux操作系統(tǒng)中執(zhí)行特權(quán)命令的方式。使用sudo可以讓普通用戶在需要時執(zhí)行root管理用戶權(quán)限級別的操作,而不需要切換到root用戶。在使用sudo提權(quán)時,用戶需要在命令前面加上sudo,系統(tǒng)會提示用戶輸入自己的密碼,如果密碼輸入正確,系統(tǒng)就會執(zhí)行該命令。sudo的權(quán)限可以通過配置文件/etc/sudoers來管理,這個文件定義了哪些用戶可以執(zhí)行哪些命令。在RHEL、CentOS上,/etc/sudoers的默認配置允許wheel組中的所有用戶在輸入密碼后使用sudo獲取root權(quán)限。在Ubuntu中,/etc/sudoers的默認配置允許sudo組中的所有用戶在輸入密碼后使用sudo獲取root權(quán)限。例如,用戶rhce在不輸入密碼的前提下使用sudo成為root用戶,可將如下指令寫入/etc/sudoers.d/rhce文件。##password-lesssudoforAnsibleuserrhceALL=(ALL)NOPASSWD:ALL特權(quán)升級在Ansible自動化運維場景中,通常建議使用非特權(quán)用戶身份連接遠程主機,然后通過特權(quán)升級獲得root用戶身份的管理權(quán)限。特權(quán)升級是指在連接到遠程主機后,將非特權(quán)用戶的權(quán)限提升到更高級別,對應(yīng)的指令可以在[privilege_escalation]中配置。[privilege_escalation]become=rtuebecome_method=sudobecome_user=rootbecome_ask_pass=false例如,Ansible管理用戶rhce可以通過基于SSH密鑰的身份連接受管主機,并且可以使用sudo以root用戶身份運行命令而不必輸入密碼。ansible.cfg文件如下所示:配置參數(shù)如下示例是典型的ansible.cfg文件,其中定義了Ansible默認的操作和特權(quán)升級相關(guān)指令,描述信息如下表所示。[defaults]inventory=./inventoryremote_user=rhceask_pass=falsehost_key_checking=false[privilege_escalation]become=truebecome_method=sudobecome_user=rootbecome_ask_pass=falseansible.cfg配置文件由多個部分組成,每個部分都有一個方括號標(biāo)識的配置段名稱。其中,[defaults]、[privilege_escalation]是最常用的配置段。序號指令描述1inventory用于指定清單文件的位置,默認情況下,Ansible會搜索/etc/ansible/hosts來查找主機清單文件該指令可以設(shè)置其他清單來覆蓋默認值。比如,inventory=./inventory、inventory=/opt/playbook/inventory2remote_user要在受管主機上登錄的用戶的名稱。如果未指定,則使用當(dāng)前用戶的名稱,比如,remote_user=rhce3ask_pass是否提示輸入SSH密碼。如果使用SSH公鑰進行身份驗證,則可以設(shè)置為false。如果設(shè)置為false,不管是root用戶還是普通用戶,都需要使用ssh-keygen和ssh-copy-id配置無密鑰驗證4host_key_checking是否開啟主機密鑰檢查,即在SSH連接時檢查主機密鑰,可防止中間人攻擊,默認值為true5become是否使用特權(quán)升級,默認為false。如果該指令設(shè)置為true,則在遠程連接后會自動在受管主機上切換用戶以激活特權(quán)升級(通常切換為root

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論