【13】進大廠必須掌握的面試題-配置管理面試

Q1。配置管理流程的目標是什么?

配置管理(CM)的目的是通過使開發(fā)或部署過程可控和可重復,從而創(chuàng)建更高質(zhì)量的產(chǎn)品或系統(tǒng),來確保產(chǎn)品或系統(tǒng)在其整個生命周期中的完整性。CM流程允許對系統(tǒng)信息和系統(tǒng)更改進行有序管理,以實現(xiàn)以下目的:

  • 修改功能,
  • 提高績效
  • 可靠性或可維護性,
  • 延長壽命
  • 降低成本,
  • 降低風險并
  • 責任或糾正缺陷。

Q2。資產(chǎn)管理和配置管理有什么區(qū)別?

以下是資產(chǎn)管理和配置管理之間的一些區(qū)別:

資產(chǎn)管理配置管理-devops面試問題

Q3。資產(chǎn)和配置項有什么區(qū)別?

據(jù)我說,您應該首先解釋資產(chǎn)。它具有財務價值以及附加的折舊率。IT資產(chǎn)只是其中的一個子集。任何有成本的東西,組織將其用于資產(chǎn)價值計算和稅收計算中的相關(guān)收益,都屬于“資產(chǎn)管理”,該項目稱為資產(chǎn)。
另一方面,配置項目可能沒有分配財務價值。它不會有任何與之相關(guān)的折舊。因此,其壽命將不取決于其財務價值,而是取決于該項目成為組織過時的時間。

現(xiàn)在,您可以舉一個例子來展示兩者之間的相似性和區(qū)別:
1)相似性:
服務器–它既是資產(chǎn)又是配置項。
2)差異:
建筑–它是資產(chǎn),而不是CI。
單據(jù)–這是配置項,但不是資產(chǎn)

Q4。您對“基礎(chǔ)架構(gòu)即代碼”有什么了解?它如何適合DevOps方法?它能達到什么目的?

基礎(chǔ)架構(gòu)即代碼(IAC)是一種IT基礎(chǔ)架構(gòu),運營團隊可以使用它來通過代碼自動管理和配置,而不是使用手動流程。
要求更快部署的公司將基礎(chǔ)設(shè)施像軟件一樣:視為可以用DevOps工具和流程進行管理的代碼。這些工具使您可以更輕松,快速,安全和可靠地進行基礎(chǔ)架構(gòu)更改。

Q5。在Puppet,Chef,SaltStack和Ansible中,哪一個是最佳的配置管理(CM)工具?為什么?

這取決于組織的需求,因此請在所有這些工具上提及幾點:
Puppet是最古老,最成熟的CM工具。Puppet是一個基于Ruby的配置管理工具,但是盡管它具有一些免費功能,但許多使Puppet出色的功能僅在付費版本中可用。不需要很多額外功能的組織會發(fā)現(xiàn)Puppet很有用,但是那些需要更多自定義的組織可能需要升級到付費版本。
Chef是用Ruby編寫的,因此可以由了解該語言的人自定義。它還包括免費功能,并且必要時可以將其從開源升級到企業(yè)級。最重要的是,它是一種非常靈活的產(chǎn)品。
Ansible是一個非常安全的選項,因為它使用Secure Shell。這是一個易于使用的工具,但是除了配置管理之外,它還提供了許多其他服務。它非常容易學習,因此非常適合那些沒有專門的IT員工但仍需要配置管理工具的人。
SaltStack是面向大型企業(yè)的基于python的開源CM工具,但是其學習曲線相當?shù)汀?/p>

Q6。什么是Puppet?

我建議您首先給Puppet一個小定義。這是一個配置管理工具,用于自動執(zhí)行管理任務。
現(xiàn)在,您應該描述其架構(gòu)以及Puppet如何管理其代理。Puppet具有Master-Slave體系結(jié)構(gòu),其中Slave必須首先向Master發(fā)送證書簽名請求,Master必須對該證書進行簽名,以便在Puppet Master和Puppet Slave之間建立安全連接,如下圖所示。Puppet Slave向Puppet Master發(fā)送請求,然后Puppet Master在Slave上推送配置。

Q7。在客戶可以通過Puppet Master進行身份驗證之前,需要先簽名并接受其證書。您將如何自動執(zhí)行此任務?

最簡單的方法是在puppet.conf中啟用自動簽名。
務必提及這是安全隱患。如果您仍然想這樣做:

  • 將Puppet主服務器防火墻-將端口tcp / 8140限制為僅信任的網(wǎng)絡(luò)。
  • 為每個“信任區(qū)域”創(chuàng)建人偶母版,并且僅在該人偶母版清單中包括受信任的節(jié)點。
  • 切勿使用完整的通配符,例如*。

Q8。描述您通過Puppet自動化流程所獲得的最大收益。

對于這個答案,我建議您向您解釋過去使用Puppet的經(jīng)驗。您可以參考以下示例:
我使用Puppet自動化了Linux和Windows計算機的配置和部署。除了將處理時間從一周減少到10分鐘之外,我還使用了角色和配置文件模式,并在README中記錄了每個模塊的用途,以確保其他人可以使用Git更新該模塊。我編寫的模塊仍在使用,但是我的隊友和社區(qū)成員對它們進行了改進

Q9。您使用哪些開放源代碼或社區(qū)工具來增強Puppet的功能?

在這里,您需要提及這些工具以及如何使用這些工具使Puppet更加強大。以下是一個供您參考的示例:
更改和請求通過Jira進行票證,我們通過內(nèi)部流程管理請求。然后,我們使用Git和Puppet的代碼管理器應用程序根據(jù)最佳實踐來管理Puppet代碼。此外,我們使用燒杯測試框架通過Jenkins的持續(xù)集成管道來運行所有Puppet更改。

Q10。什么是人偶清單?

這是一個非常重要的問題,因此請確保流程正確。據(jù)我說,您應該首先定義清單。每個節(jié)點(或Puppet代理)在Puppet Master中都有其配置詳細信息,以本機Puppet語言編寫。這些詳細信息以Puppet可以理解的語言編寫,被稱為清單。它們由Puppet代碼組成,其文件名使用.pp擴展名。
現(xiàn)在舉一個例子。您可以在Puppet Master中編寫清單,以創(chuàng)建文件并在連接到Puppet Master的所有Puppet代理(從站)上安裝apache。

Q11。 什么是Puppet Module?與Puppet Manifest有何不同?

對于此答案,您可以使用以下提到的解釋:
人偶模塊是清單和數(shù)據(jù)(例如事實,文件和模板)的集合,它們具有特定的目錄結(jié)構(gòu)。模塊對于組織Puppet代碼很有用,因為它們使您可以將代碼拆分為多個清單。使用模塊組織幾乎所有的人偶清單被認為是最佳實踐。
人偶程序稱為清單,由人偶代碼組成,其文件名使用.pp擴展名。

Q12。 Puppet的因素是什么?

您應該回答Facter在Puppet中的確切功能,所以據(jù)我說,“ Facter收集有關(guān)Puppet Agent的基本信息(事實),例如硬件詳細信息,網(wǎng)絡(luò)設(shè)置,操作系統(tǒng)類型和版本,IP地址,MAC地址, SSH密鑰等。這些事實然后在Puppet Master的清單中作為變量提供。”

Q13。什么是Chef?

通過定義Chef開始此答案。它是一個強大的自動化平臺,可將基礎(chǔ)結(jié)構(gòu)轉(zhuǎn)換為代碼。Chef是一種工具,您可以為其編寫用于自動化過程的腳本。什么過程?與IT相關(guān)的幾乎所有內(nèi)容。
現(xiàn)在,您可以解釋Chef的體系結(jié)構(gòu),它包括:

  • Chef Server: Chef Server是基礎(chǔ)結(jié)構(gòu)配置數(shù)據(jù)的中央存儲。Chef服務器存儲配置節(jié)點所需的數(shù)據(jù)并提供搜索功能,該功能強大的工具可讓您根據(jù)數(shù)據(jù)動態(tài)驅(qū)動節(jié)點配置。
  • Chef節(jié)點:節(jié)點是使用Chef客戶端配置的任何主機。Chef-client在您的節(jié)點上運行,請與Chef服務器聯(lián)系以獲取配置節(jié)點所需的信息。由于節(jié)點是運行Chef-client軟件的計算機,因此有時將節(jié)點稱為“客戶端”。
  • Chef Workstation: Chef Workstation是用于修改菜譜和其他配置數(shù)據(jù)的主機。

Q14。Chef中的資源是什么?

我的建議是首先定義資源。資源代表基礎(chǔ)架構(gòu)及其所需的狀態(tài),例如應安裝的軟件包,應運行的服務或應生成的文件。
您應該解釋有關(guān)Resource的功能,包括以下幾點:

  • 描述配置項的期望狀態(tài)。
  • 聲明使該項目達到所需狀態(tài)所需的步驟。
  • 指定資源類型,例如包,模板或服務。
  • 根據(jù)需要列出其他詳細信息(也稱為資源屬性)。
  • 被分為描述工作配置的配方。

Q15。你用Chef的資源是什么意思?

對于此答案,我建議您使用上述流程:首先定義配方。資源是資源的集合,描述了特定的配置或策略。資源描述了配置系統(tǒng)部分所需的一切。
定義之后,通過包括以下幾點來說明資源的功能:

  • 安裝和配置軟件組件。
  • 管理文件。
  • 部署應用程序。
  • 執(zhí)行其他資源。

Q16。 資源與Chef資源有何不同?

答案很直接。您可以簡單地說:“資源是資源的集合,主要配置軟件包或某些基礎(chǔ)結(jié)構(gòu)?!百Y源”將資源和其他信息組合在一起,比僅包含資源更易于管理?!?/p>

Q17。 如果您未在Chef中指定資源的操作,會發(fā)生什么情況?

我的建議是首先給出一個直接的答案:當您不指定資源的操作時,Chef將應用默認操作。
現(xiàn)在用一個例子來說明這一點,下面的資源:

file ‘C:UsersAdministratorchef-reposettings.ini’ do
content ‘greeting=hello world’
end

是相同以下資源:

file ‘C:UsersAdministratorchef-reposettings.ini’ do
action :create
content ‘greeting=hello world’
end

是因為:創(chuàng)建的文件資源的默認操作。

Q18。什么是Ansible模塊?

在Ansible中,模塊被視為工作單元。每個模塊大部分都是獨立的,可以用標準腳本語言編寫,例如Python,Perl,Ruby,bash等。模塊的指導屬性之一是冪等,這意味著即使多次重復操作,例如從中斷中恢復,它將始終將系統(tǒng)置于相同狀態(tài)。

Q19。什么是Ansible中的劇本?

劇本是Ansible的配置,部署和編排語言。它們可以描述您希望遠程系統(tǒng)執(zhí)行的策略,或一般IT流程中的一組步驟。劇本被設(shè)計為人類可讀的并且以基本文本語言開發(fā)。
從根本上講,劇本可用于管理遠程計算機的配置和部署。

Q20。 我如何查看所有ansible_變量的列表?

默認情況下,Ansible收集有關(guān)所管理機器的“事實”,并且可以在Playbook和模板中訪問這些事實。要查看有關(guān)計算機的所有可用事實的列表,可以作為臨時操作運行“ setup”模塊:
**Ansible -m setup主機名

**這將打印出所有可用的事實的字典。該特定主機。

Q21。如何設(shè)置應用程序的部署順序?

WebLogic Server 8.1允許您選擇應用程序的加載順序。請參閱“應用程序”中的“應用程序MBean加載順序”屬性。WebLogic Server在部署應用程序之前先部署服務器級資源(首先是JDBC,然后是JMS)。應用程序的部署順序如下:連接器,然后是EJB,然后是Web應用程序。如果應用程序是EAR,則按照在application.xml部署描述符中聲明它們的順序加載各個組件。

Q22。是否可以在不重新部署整個應用程序的情況下刷新已部署應用程序的靜態(tài)組件?

是的,您可以使用以下語法使用weblogic.Deployer來指定組件并以服務器為目標:
java weblogic.Deployer -adminurl http:// admin:7001 -name appname -targets server1,server2 -deploy jsps / *。jsp

Q23。如何關(guān)閉自動部署功能?

自動部署功能每三秒鐘檢查一次應用程序文件夾,以確定是否有任何新應用程序或?qū)ΜF(xiàn)有應用程序的任何更改,然后動態(tài)部署這些更改。

為在開發(fā)模式下運行的服務器啟用了自動部署功能。要禁用自動部署功能,請使用以下方法之一將服務器置于生產(chǎn)模式:

  • 在管理控制臺中,單擊左窗格中的域名稱,然后在右窗格中選擇“生產(chǎn)模式”復選框。
  • 在啟動域的管理服務器時,在命令行中包含以下參數(shù):
    -Dweblogic.ProductionModeEnabled = true
  • 將為給定域中的所有WebLogic Server實例設(shè)置生產(chǎn)模式。

Q24。什么時候應該使用external_stage選項?

如果要自己暫存應用程序,請使用weblogic.Deployer設(shè)置-external_stage,并且希望通過自己的方式將其復制到其目標。

歡迎關(guān)注 Java架構(gòu)師社區(qū)公眾號.
本文轉(zhuǎn)載自Java架構(gòu)師必看 ,更多內(nèi)容點擊查看!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容