前 25 個 Ansible 面試問題和答案 [適用於應屆生和有經驗者]

已發表: 2020-08-27

Ansible 面試問題是當今互聯網上研究最多的話題,因為 Ansible 最近獲得了普及。 如今,自動化在幾乎每個 IT 流程中都越來越受歡迎,因為它減少了對人工干預的需求和對更多資源的需求,而 Ansible 幫助行業實現了這一目標。

Ansible 使自動化和配置管理變得容易。 Ansible 在 IT 行業也是新生事物,並在很短的時間內獲得了普及。 這是因為它有助於自動化大多數任務,節省資源和時間。

此外,它易於學習和理解。 Ansible 的火爆使得業界對 Ansible 的需求越來越大。 為了滿足這一需求,正在僱用更多的人,他們對 Ansible 有很好的了解,以便候選人可以在項目中實施同樣的事情,並證明它對行業有益。

以下是您需要為下一次面試準備Ansible 面試問題。 這些問題既針對較新的水平,也針對經驗水平。 這些 Ansible 面試問題和答案肯定會幫助您破解面試。

如果您想學習 Ansible,請在 IT 專業人士中非常知名的名字 upGrad 上了解它。 經驗豐富的專業人員準備 u pGrad 提供的學習材料。 您可以訪問該網站並深入了解 Ansible。

必讀:Ansible vs Chef

Ansible 面試問答

Q1。 Ansible 的優勢是什麼?

Ansible 有幾個優點和優勢,包括:

  • 它沒有代理,但只需要在目標機器上運行的 SSH 服務。
  • 它不需要很多資源。 因此,開銷很低。
  • Ansible 的唯一依賴是 Python,它預裝在大多數係統中。
  • Ansible 很容易理解。

Q2。 Ansible 中的 CD/CI 是什麼?

CI 和 CD 是軟件開發中遵循的實踐。 CD 是持續交付的縮寫,而 CI 是持續集成的縮寫。

在 CD 中,軟件被構建並交付到生產環境中,而在 CI 中,不同的開發人員在不同的模塊上工作,每天上傳集成。 Ansible 是 CD 和 CI 的完美工具,因為它為設置所需環境和最終部署應用程序提供了穩定的基礎架構。

Q3。 Ansible 是如何工作的?

Ansible 通常分為兩種類型的服務器,稱為控制機器和節點。 它存在於控制機器上,控制機器進一步連接到不同的節點。 劇本由 Ansible 在控制機器上運行,這些機器使用 SSH 執行 Ansible 模塊,並在執行完成時刪除這些模塊。 控制機器管理所有節點; 因此不需要第三方工具。

Q4。 什麼是 Ansible 劇本?

playbook 是編寫 Ansible 代碼的文件。 Playbook 遵循 YAML 格式,是 Ansible 的基本功能。 Playbook 中包含的文件按順序運行。 總的來說,Playbook 是 Ansible 的構建塊。

Q5。 什麼是 Ansible 塔? 它有什麼特點?

Ansible Tower 是一個基於 Web 的解決方案,IT 團隊可以輕鬆訪問它。 Ansible 的主要功能是充當所有自動化任務的樞紐。 該塔最多可免費用於 10 個節點。

以下是 Ansible Tower 的一些主要功能:

  1. 作業調度。
  2. 它有助於安排作業稍後運行並設置重複選項。
  3. 基於滾動的操作控制:您可以使用 Ansible Tower 輕鬆設置不同的角色並提供對特定角色的訪問權限。
  4. 完整記錄的 REST API:使用 REST API,您可以輕鬆地將 Ansible 與您現有的環境集成。
  5. 門戶模式:Ansible Tower 提供易於使用的 UI,對新手和有經驗的用戶都很有用。
  6. 雲集成:Ansible Tower 與大多數雲環境兼容,例如 Azure、RackSpace 和 Amazon EC2。

Q6。 什麼是冪等性?

冪等性是 Ansible 的一個基本特性,它確保只發生所需的更改。 例如,任何任務都可以在服務器上執行多次,但不會改變已經正常工作的部分。 它可以使用創建的屬性在 Ansible 中實現。

問題 7。 什麼是 Ansible Galaxy?

Ansible Galaxy 是不同 Ansible 角色的倉庫,您可以通過它安全地共享內容。 它通過 Galaxy 網站完成,用戶可以根據角色訪問權限查找和共享內容。 Ansible-Galaxy 是可用於安裝角色、創建新角色、刪除現有角色以及在 Galaxy 網站上執行不同任務的命令。

Q8。 如何使用 Ansible 創建加密文件?

管理加密內容的主要命令是 Ansible-vault。 使用此命令,可以加密文件並用於編輯、查看和解密數據。 新的加密文件是使用 Ansible-vault 創建的,只需傳遞文件名即可創建命令。 舉個例子; 創建 Hello.yml 使用以下命令:

$ Ansible-Vault 創建 Hello.yml

問題 9。 什麼是 ask_pass 模塊?

當需要基於密碼的身份驗證以連接到節點時,需要 ask_pass。 只需添加 - Ansible 命令的 ask-pass 選項。 使用此選項時,Ansible 將提示用戶輸入密碼以進行連接。

問題 10。 什麼是標籤?

當有一個大的 Ansible playbook,並且您想要執行其中的一部分時,可以使用標籤。 標籤可用於 Ansible 中的不同結構,但標籤最基本的用途是用於單個任務。 標籤可以應用於多個任務。 這是通過在命令行選項中使用 –tags 來完成的。 所以所有有這個標籤的任務都會被執行。

問題 11。 您可以在標籤的幫助下過濾任務嗎?

是的,可以使用 Ansible 標籤過濾任務。 這可以通過以下方式完成:

  1. 您可以在命令行工具上使用 –tags 選項或 –skip-tags 選項。
  2. 您可以在 Ansible 配置設置中使用 TAGS_RUN 和 TAGS_SKIP 選項。

問題 12。 什麼是處理程序?

處理程序是常規的劇本任務,但不同之處在於劇本任務順序發生,而處理程序在被某些事件或任務調用時執行。 只有在特定遊戲中的所有任務都完成後,處理程序才會執行一次。 例如,在配置設置更改或安裝完成時啟動新服務。

閱讀:DevOps 項目理念

問題 13。 如何測試 Ansible 項目?

以下三種方法可用於測試 Ansible 項目:

斷言:斷言與測試在其他語言(如 Python)中的工作方式相匹配。 它驗證系統是否已到達執行測試的實際位置,而不是作為您在檢查模式下找到的模擬。 斷言顯示該任務完成了它實際必須做的事情。

檢查模式: Ansible 中的檢查模式允許用戶在不接觸任何其他內容的情況下運行 playbook。 這意味著如果在沒有檢查模式的情況下執行劇本,它將讓用戶知道模塊會發生什麼變化。 檢查模式就像一個模擬,是 Ansible 中使用最少的選項。

手動運行:它驗證系統是否處於您希望的狀態。 這是一種簡單的方法,但有風險,因為結果可能與生產環境中的不同。

問題 14。 如何升級 Ansible?

升級 Ansible 是一件容易的事。 您可以使用以下命令執行此操作:

sudo pip install Ansible==<版本號>

問題 15。 你什麼時候使用 {{ }}?

這是 Ansible 的基本規則之一:“使用 {{ }} 除非:”

問題 16。 如何訪問 shell 環境變量?

可以使用“env”查找插件訪問控制機器的現有變量。 例如; 獲取管理機home環境變量的值,可以輸入:

Local_home:”{{lookup('env','HOME')}}”

問題 17。 Ansible 服務器的要求是什麼?

如果您使用 Windows,則必須有安裝 Linux 的虛擬機。 它需要 Python 2.6 或更高版本。 如果您管理這些要求,那麼您可以繼續使用它。

問題 18。 變量名和環境變量有什麼區別?

變量名環境變量
要創建變量名,您必須添加字符串要訪問環境變量,您需要已經存在的變量
通過添加字符串,您可以創建多個變量名您應該參考高級 Ansible Playbook 來創建環境變量
對於變量名,使用 ipv4 地址對於遠程環境變量,使用 {{ Ansible_envSOME_VARIABLES}}

問題 19。 將 Ansible 與 Chef 進行比較。

參數Ansible 廚師
安裝和設置客戶端機器不需要特殊設置。 設置非常簡單。 服務器在主機上運行,客戶端代理在客戶端機器上運行。 因此,設置有點棘手。
配置管理它使用 YAML,它類似於英語並且易於理解。 它使用 Ruby 領域相關語言。 因此,Ruby的知識是必須的。
靜態-動態庫存它使用靜態和動態清單,例如,INI 文件的主機存在於不同部分。 用戶必須在廚師服務器上註冊主機。
價錢對於基本操作,100 個節點的金額為 10,000 美元/年,高級套餐為 14,000 美元。 它更實惠,每個節點的支付金額為 137 美元。

Q20。 什麼是臨時命令?

Ad hoc 命令是單一任務和快速命令,不可重複使用。 它主要用於很少執行的任務。 例如,如果您想在假期前關閉實驗室中的所有計算機,則可以使用單個 Ansible ad hoc 命令來完成。 該命令在 /usr/bin/Ansible 命令行工具上執行。 可以使用 ad hoc 命令執行多項任務,例如復製文件、重新啟動服務器、管理用戶、管理包等。

問題 21。 什麼是配置管理,它如何幫助組織?

配置管理用於系統地處理更新並保持其完整性。 通過配置管理,所做的所有更新都在系統中進行維護和跟踪,並確保系統是最新的。 配置管理通過以下方式幫助組織:

  • 它有助於確定隨著用戶需求的變化需要進行哪些更改。
  • 恢復到以前的版本,以防更新的版本出現故障。
  • 它替換了不正確的組件,因為用戶無法準確地找到它。
  • 由於自上次實施以來需求發生變化,它會更新實施。

問題 22。 Ansible 有哪些不同的組件? 解釋 Ansible 架構。

Ansible 自動化引擎是 Ansible 的主要組件,它直接與配置管理數據庫、不同的雲服務以及編寫 playbook 的用戶進行通信。

Ansible 自動化引擎具有以下組件:

  • Inventories:它包含所有節點、數據庫和服務器的位置。
  • API: Ansible API 與其他 API 一樣工作。 Ansible API 有助於不同的雲服務和私有或公共服務之間的通勤。
  • 模塊: Ansible 模塊用於自動化各種任務。 這些模塊有助於管理庫、包、文件、系統資源等。 Ansible 有大約 450 個模塊,可以自動化 Ansible 環境中的幾乎所有內容。
  • 插件: Ansible 插件有助於執行 Ansible 任務。 Ansible 提供了大約 100 個插件來幫助輕鬆執行任務。
  • 網絡: Ansible 通過創建劇本幫助自動化各種網絡和服務。
  • Playbook: Playbook 是按順序執行的任務列表。 它們遵循 YAML 格式,用於任務自動化。
  • CMDB:它是一個數據庫,包含所有已安裝的 IT 資產以及它們之間的關係。
  • 雲:它由在線託管並用於存儲、管理和處理數據的遠程服務器組成,而不是本地服務器。

問題 23。 playbook 和 play 和有什麼不一樣?

劇本包含一個或多個劇本,劇本包含一個或多個任務。

問題 24。 如何遞歸地複制目標主機上的文件?
可以使用複制模塊將文件複製到主機。 有一個遞歸參數可以復制目錄中存在的所有文件。 同步模塊也用於此目的。 您只需提及源目錄和目標目錄。

問題 25。 我們可以在 Ansible 中創建模塊嗎?

是的,這些模塊可以在 Ansible 中創建。 Ansible 是一個適用於 python 語言的開源工具。 任何了解編碼的人都可以在 Ansible 中創建模塊。

另請閱讀:全棧開發人員面試問題

結論

這些是必讀的Ansible 面試問題,可讓您為下一次面試做好準備,並獲得作為 Ansible 分析師的夢想職業。 由於競爭日益激烈,各行業正在更快地適應新技術,以便他們能夠跟上市場的步伐並在競爭中取得領先。 Ansible 就是這樣一種技術,因其優勢而受到 IT 行業的廣泛關注。 如果您想了解有關 Ansible 全棧開發的更多信息,請查看 upGrad 的全棧開發計劃的 PG 文憑

為未來的職業做準備

行業值得信賴的學習 - 行業認可的認證。
現在申請