Terraform 面試常見問題
Terraform 是一款開源的 IAC(基礎設施即程式碼)程式設計工具,使您能夠檢視、進行和定期更改、建立,以及進一步開發基礎設施。
它是 AWS 合作伙伴網路 (APN) 前沿創新合作伙伴,也是 AWS DevOps 能力的成員,是一款類似於 AWS CloudFormation 的 IAC(基礎設施即程式碼)工具,允許您建立、更新和版本化您的 Amazon Web Services (AWS) 基礎設施。
在 AWS 中,您對 Terraform 的確切含義是什麼?
Terraform 是 AWS DevOps 能力的一部分,也是 APN 前沿創新合作伙伴。
它類似於 AWS Cloud Development,一個額外的 IAC 工具,允許您建立、更新和版本化您的 AWS 基礎設施。
Terraform 中的計劃報告描述了執行特定應用程式或整個伺服器場所需的元件。
然後它建立一個執行計劃,描述它將如何達到最佳狀態,然後執行它來構建描述的基礎設施。
它建立漸進式執行計劃,可以應用於計劃更改。
Terraform 的主要元件是什麼?
它允許您將所有系統視為程式碼並根據需要構建它們。
主要功能包括:
一個控制檯,使客戶能夠觀察即時功能 - 將 HCL 程式碼轉換為 JSON 格式的能力。
透過配置語言支援安裝。
模組計數器跟蹤已安裝到系統的模組數量。
哪些 Terraform 命令最有價值?
命令如下:
Terraform init - 在當前目錄中建立一個新工作區。
Terraform refresh - 此命令重新整理狀態檔案。
Terraform output - 檢視 Terraform 的結果。
Terraform apply - 執行 Terraform 程式碼並建立物件。
Terraform Destroy - 銷燬 Terraform 建立的內容。
Terraform graph - 生成 DOT 格式的圖表。
Terraform plan - 測試 Terraform 將如何執行。
在 Azure 上使用 Terraform 是否可以進行回撥?
透過使用 Azure 事件中心,在 Azure 上進行回撥是可能的。Terraform 的 Azure 提供程式為使用者提供了簡單的功能。Microsoft Azure 雲 Shell 提供了一個預安裝的 Terraform 事件。
什麼是 Terraform init?
Terraform-init 是一個用於初始化包含配置檔案的有效工作區目錄的命令。此命令可以多次迴圈使用。第一個命令應該是在編寫新的 Terraform 計劃之後。
什麼是 Terraform D?
它是一個在大多數雲服務和 Windows 上使用的模組。Terraform init 預設情況下會掃描其他目錄以查詢模組。
在使用 TFS API 提供資源時,歷史記錄是否與 Web 上相同?
是的,描述與 Web 上相同,因為 UI 以 API 為基礎。UI 上的所有內容都受益於各種方法和 API。
構成 Terraform 配置的元件有哪些?
答 - 配置中包含以下元件:
子圖
後端
表示式求值
CLI(通用語言介面)(命令列介面)
頂點求值
載入器配置
遍歷圖
狀態管理器
圖構建器
解釋 Terraform CLI 的用途並展示一些基本的 CLI 命令。
命令列介面 (CLI) 用於管理基礎設施並與狀態、配置檔案、提供程式等進行互動。
以下是一些基本的 CLI 命令:
terraform init - 為其他命令準備您的工作目錄
terraform destroy - 銷燬先前建立的基礎設施
terraform validate - 檢查配置是否有效
terraform apply - 建立或更新基礎設施
terraform plan - 顯示當前配置所需的更改
定義 Terraform 中的空資源。
nullresource 執行標準資源生命週期,但不會觸發任何其他操作。觸發器引數允許一組任意值,這些值在更改時會導致資源替換。空資源遵循標準資源生命週期,但不執行任何其他操作。觸發器引數允許指定一組任意值,這些值在更改時會導致資源替換。
列出所有 Terraform 支援的版本控制系統。
支援的版本控制系統包括:
GitLab.com
Bitbucket Cloud 和 Server
GitHub Enterprise
Azure DevOps Server 和 Services
GitHub.com
GitLab CE 和 EE
Terraform 中可用的內建供應器的部分有哪些?
以下是內建供應器的列表:
Salt-masterless 供應器
檔案供應器
遠端執行供應器
Habitat 供應器
本地執行供應器
Chef 供應器
Puppet 供應器
請告訴我們一些 Terraform 的獨特應用。
由於 Terraform 擴充套件了其資源管理功能,因此其用途廣泛。一些獨特的應用包括:
軟體演示開發
資源排程器
自助服務團隊
Heroku 應用程式設定
一次性環境建立
多層應用程式開發
多雲部署
為什麼 Terraform 用於 DevOps?
Terraform 使用一種類似 JSON 的配置語言,稱為 HashiCorp 配置語言 (HCL)。HCL 具有非常簡單的語法,使 DevOps 團隊能夠輕鬆地在多個雲層和本地伺服器場中定義和維護基礎設施配置。
以下是選擇 Terraform 用於 DevOps 的原因:
它可以執行基礎設施編排,而不僅僅是配置管理(如 Ansible 和 Puppet)
得到所有主流雲提供商(如 AWS、Azure、GCP、DigitalOcean 等)的出色支援。
有效地管理持久(動態)基礎設施。
提供持久的基礎設施,配置更改可以輕鬆地應用。
使用 HCL,它非常易於學習和理解。
非常適合從一個提供商開始,然後過渡到另一個提供商。
簡單的基礎設施。