Infrastructure Manager (簡稱 Infra Manager) 會使用 Terraform,自動部署及管理 Google Cloud 基礎架構資源。
您可以使用 Infra Manager 透過程式碼部署至 Google Cloud,這樣就能使用這項服務,而不需要維護其他工具鍊,以便在 Google Cloud上與 Terraform 搭配使用。
Terraform 設定會定義基礎架構。設定會由 Infra Manager 部署至 Google Cloud ,讓您可以使用基礎架構即程式碼 (IaC) 管理資源。
Infra Manager 不會管理應用程式在資源上的部署作業。如要管理應用程式部署作業,您可以使用 Google Cloud產品,例如 Cloud Build 和 Cloud Deploy。您也可以使用第三方工具或自己的工具鍊。
如要使用 Infra Manager,您必須熟悉 Terraform。如要進一步瞭解 Terraform,請先參閱 HashiCorp 的「什麼是 Terraform?」一文。
如要進一步瞭解 Terraform 搭配 Google Cloud的使用方式,請參閱「Terraform 在 Google Cloud」。
Infra Manager 和基礎架構即程式碼
您可以使用 Infra Manager 透過 IaC 管理Google Cloud 資源的生命週期:
- Terraform 是在 Terraform 設定中以宣告方式定義。也就是說,設定會說明基礎架構的最終狀態。
- 您可以在 Git 存放區或 Cloud Storage 值區中為 Terraform 設定檔建立版本。使用物件版本管理功能,為儲存體值區中的設定建立版本。
- 使用 Infra Manager 更新基礎架構部署作業,並使用修訂版本。針對每個修訂版本,Infra Manager 會儲存下列項目:
- 記錄
- 用於修訂的設定
- 修訂版本建立的 Google Cloud 資源清單
- 在每次部署和修訂版本中建立的狀態檔案
如要進一步瞭解 IaC,請參閱「基礎架構即程式碼 Google Cloud」一文。
Infra Manager 的運作方式
以下將說明在使用 Infra Manager 部署基礎架構的簡單情境中,會發生哪些情況。
- 要部署至 Google Cloud 的基礎架構資源,是在 Terraform 設定中定義。
- 您可以自行建立這個檔案,也可以使用已為 Google Cloud編寫的設定。詳情請參閱「Terraform 和基礎架構管理工具」。
- 您可以將 Terraform 設定儲存在 Cloud Storage 值區、Git 存放區或本機電腦上。
- 使用 Infra Manager 從 Terraform 設定部署資源時,您會建立部署。如要建立部署作業,請在 Infra Manager 中:
- 驗證要求。舉例來說,這可確保您在指令中指定 Terraform 設定的位置。
- 使用容器映像檔建立 Cloud Build 工作。這張圖片由 Google Cloud擁有及維護。如要進一步瞭解 Cloud Build 環境,請參閱「執行階段環境」。Cloud Build 工作會自動執行下列工作:
- 從儲存空間儲存桶或 Git 存放區下載 Terraform 模組。
- 初始化 Terraform (
terraform init
) - 驗證 Terraform 設定 (
terraform validate
) - 啟用設定 (
terraform apply
,或terraform destroy
,如果您要刪除部署) - 將 Cloud Build 記錄串流傳送至 Infra Manager 建立的儲存值區。
- 如果部署作業失敗,Infra Manager 會在特定情況下自動重試
terraform init
或terraform apply
作業,例如在網路斷線情形下失敗。重試次數有限。
- 建立 Cloud Storage 值區,並儲存部署作業的中繼資料。如要進一步瞭解部署和中繼資料,請參閱部署和修訂版本總覽。
部署完成後, Google Cloud 資源會根據設定所述的方式配置。
您可以查詢 Infra Manager 部署作業的下列資訊:
- 部署的狀態。
- 部署作業中部署的資源清單。
- 部署作業中的個別資源詳細資料。
執行階段環境
Infra Manager 的執行階段環境是暫時性 Cloud Build 環境。Infra Manager 會在這個 Cloud Build 環境中執行 Terraform 指令,然後捨棄該環境。
Cloud Build 環境的特定作業系統、可用軟體和其他設定詳細資料,是 Infra Manager 的內部實作詳細資料,隨時可能變更。
您可以指定要為每個部署作業使用哪個支援的 Terraform 版本。
請勿填寫任何個人或機密資訊
請勿在 Terraform 設定值中輸入個人或私密資訊。
如要進一步瞭解 Terraform 設定和機密資料,請參閱「Terraform 設定值和機密資料」。
後續步驟
- 進一步瞭解搭配使用 Terraform 和 Google Cloud。
- 建立部署作業。
- 更新部署作業。
- 自動進行部署。
- 刪除部署作業。