配置管理(CM)的目的是經過使開發或部署過程可控和可重複,從而建立更高質量的產品或系統,來確保產品或系統在其整個生命週期中的完整性。CM流程容許對系統信息和系統更改進行有序管理,以實現如下目的:java
如下是資產管理和配置管理之間的一些區別:python
據我說,您應該首先解釋資產。它具備財務價值以及附加的折舊率。IT資產只是其中的一個子集。任何有成本的東西,組織將其用於資產價值計算和稅收計算中的相關收益,都屬於「資產管理」,該項目稱爲資產。
另外一方面,配置項目可能沒有分配財務價值。它不會有任何與之相關的折舊。所以,其壽命將不取決於其財務價值,而是取決於該項目成爲組織過期的時間。web
如今,您能夠舉一個例子來展現二者之間的類似性和區別:
1)類似性:
服務器–它既是資產又是配置項。
2)差別:
建築–它是資產,而不是CI。
單據–這是配置項,但不是資產面試
基礎架構即代碼(IAC)是一種IT基礎架構,運營團隊可使用它來經過代碼自動管理和配置,而不是使用手動流程。
要求更快部署的公司將基礎設施像軟件同樣:視爲能夠用DevOps工具和流程進行管理的代碼。這些工具使您能夠更輕鬆,快速,安全和可靠地進行基礎架構更改。apache
這取決於組織的需求,所以請在全部這些工具上說起幾點:
Puppet是最古老,最成熟的CM工具。Puppet是一個基於Ruby的配置管理工具,可是儘管它具備一些免費功能,但許多使Puppet出色的功能僅在付費版本中可用。不須要不少額外功能的組織會發現Puppet頗有用,可是那些須要更多自定義的組織可能須要升級到付費版本。
Chef是用Ruby編寫的,所以能夠由瞭解該語言的人自定義。它還包括免費功能,而且必要時能夠將其從開源升級到企業級。最重要的是,它是一種很是靈活的產品。
Ansible是一個很是安全的選項,由於它使用Secure Shell。這是一個易於使用的工具,可是除了配置管理以外,它還提供了許多其餘服務。它很是容易學習,所以很是適合那些沒有專門的IT員工但仍須要配置管理工具的人。
SaltStack是面向大型企業的基於python的開源CM工具,可是其學習曲線至關低。安全
我建議您首先給Puppet一個小定義。這是一個配置管理工具,用於自動執行管理任務。
如今,您應該描述其架構以及Puppet如何管理其代理。Puppet具備Master-Slave體系結構,其中Slave必須首先向Master發送證書籤名請求,Master必須對該證書進行簽名,以便在Puppet Master和Puppet Slave之間創建安全鏈接,以下圖所示。Puppet Slave向Puppet Master發送請求,而後Puppet Master在Slave上推送配置。bash
最簡單的方法是在puppet.conf中啓用自動簽名。
務必說起這是安全隱患。若是您仍然想這樣作:服務器
對於這個答案,我建議您向您解釋過去使用Puppet的經驗。您能夠參考如下示例:
我使用Puppet自動化了Linux和Windows計算機的配置和部署。除了將處理時間從一週減小到10分鐘以外,我還使用了角色和配置文件模式,並在README中記錄了每一個模塊的用途,以確保其餘人可使用Git更新該模塊。我編寫的模塊仍在使用,可是個人隊友和社區成員對它們進行了改進網絡
在這裏,您須要說起這些工具以及如何使用這些工具使Puppet更增強大。如下是一個供您參考的示例:
更改和請求經過Jira進行票證,咱們經過內部流程管理請求。而後,咱們使用Git和Puppet的代碼管理器應用程序根據最佳實踐來管理Puppet代碼。此外,咱們使用燒杯測試框架經過Jenkins的持續集成管道來運行全部Puppet更改。架構
這是一個很是重要的問題,所以請確保流程正確。據我說,您應該首先定義清單。每一個節點(或Puppet代理)在Puppet Master中都有其配置詳細信息,以本機Puppet語言編寫。這些詳細信息以Puppet能夠理解的語言編寫,被稱爲清單。它們由Puppet代碼組成,其文件名使用.pp擴展名。
如今舉一個例子。您能夠在Puppet Master中編寫清單,以建立文件並在鏈接到Puppet Master的全部Puppet代理(從站)上安裝apache。
對於此答案,您可使用如下提到的解釋:
人偶模塊是清單和數據(例如事實,文件和模板)的集合,它們具備特定的目錄結構。模塊對於組織Puppet代碼頗有用,由於它們使您能夠將代碼拆分爲多個清單。使用模塊組織幾乎全部的人偶清單被認爲是最佳實踐。
人偶程序稱爲清單,由人偶代碼組成,其文件名使用.pp擴展名。
您應該回答Facter在Puppet中的確切功能,因此據我說,「 Facter收集有關Puppet Agent的基本信息(事實),例如硬件詳細信息,網絡設置,操做系統類型和版本,IP地址,MAC地址, SSH密鑰等。這些事實而後在Puppet Master的清單中做爲變量提供。」
經過定義Chef開始此答案。它是一個強大的自動化平臺,可將基礎結構轉換爲代碼。Chef是一種工具,您能夠爲其編寫用於自動化過程的腳本。什麼過程?與IT相關的幾乎全部內容。
如今,您能夠解釋Chef的體系結構,它包括:
個人建議是首先定義資源。資源表明基礎架構及其所需的狀態,例如應安裝的軟件包,應運行的服務或應生成的文件。
您應該解釋有關Resource的功能,包括如下幾點:
對於此答案,我建議您使用上述流程:首先定義配方。資源是資源的集合,描述了特定的配置或策略。資源描述了配置系統部分所需的一切。
定義以後,經過包括如下幾點來講明資源的功能:
答案很直接。您能夠簡單地說:「資源是資源的集合,主要配置軟件包或某些基礎結構。「資源」將資源和其餘信息組合在一塊兒,比僅包含資源更易於管理。」
個人建議是首先給出一個直接的答案:當您不指定資源的操做時,Chef將應用默認操做。
如今用一個例子來講明這一點,下面的資源:
file ‘C:UsersAdministratorchef-reposettings.ini’ do content ‘greeting=hello world’ end
是相同如下資源:
file ‘C:UsersAdministratorchef-reposettings.ini’ do action :create content ‘greeting=hello world’ end
是由於:建立的文件資源的默認操做。
在Ansible中,模塊被視爲工做單元。每一個模塊大部分都是獨立的,能夠用標準腳本語言編寫,例如Python,Perl,Ruby,bash等。模塊的指導屬性之一是冪等,這意味着即便屢次重複操做,例如從中斷中恢復,它將始終將系統置於相同狀態。
劇本是Ansible的配置,部署和編排語言。它們能夠描述您但願遠程系統執行的策略,或通常IT流程中的一組步驟。劇本被設計爲人類可讀的而且以基本文本語言開發。
從根本上講,劇本可用於管理遠程計算機的配置和部署。
默認狀況下,Ansible收集有關所管理機器的「事實」,而且能夠在Playbook和模板中訪問這些事實。要查看有關計算機的全部可用事實的列表,能夠做爲臨時操做運行「 setup」模塊:
**Ansible -m setup主機名
**這將打印出全部可用的事實的字典。該特定主機。
WebLogic Server 8.1容許您選擇應用程序的加載順序。請參閱「應用程序」中的「應用程序MBean加載順序」屬性。WebLogic Server在部署應用程序以前先部署服務器級資源(首先是JDBC,而後是JMS)。應用程序的部署順序以下:鏈接器,而後是EJB,而後是Web應用程序。若是應用程序是EAR,則按照在application.xml部署描述符中聲明它們的順序加載各個組件。
是的,您可使用如下語法使用weblogic.Deployer來指定組件並以服務器爲目標:
java weblogic.Deployer -adminurl http:// admin:7001 -name appname -targets server1,server2 -deploy jsps / *。jsp
自動部署功能每三秒鐘檢查一次應用程序文件夾,以肯定是否有任何新應用程序或對現有應用程序的任何更改,而後動態部署這些更改。
爲在開發模式下運行的服務器啓用了自動部署功能。要禁用自動部署功能,請使用如下方法之一將服務器置於生產模式:
若是要本身暫存應用程序,請使用weblogic.Deployer設置-external_stage,而且但願經過本身的方式將其複製到其目標。