Linux
Image Builder 是一種宣告式作業系統 (OS) 映像檔自訂工具,可使用 Cloud Build 在專案中執行。 Google Cloud這項服務會自動建構、自訂及驗證 OS 映像檔,協助您在發布映像檔以供生產工作負載使用前,確認映像檔可正確啟動並符合設定需求。
主要優點
Image Builder 可自動執行Google Cloud內自訂 OS 映像檔的生命週期,協助您管理基礎架構及驗證設定需求。Image Builder 提供下列功能,可建構自訂 OS 映像檔:
- 自動建立 OS 映像檔:使用宣告式 YAML 配方和自動化 Cloud Build 工作流程,建立及維護自訂 OS 映像檔,不必使用自訂指令碼或外部工具。由於 Image Builder 是在 Cloud Build 中執行,因此您可以透過 Cloud Build 觸發條件,在存放區發生事件 (例如 Git 推送或標記) 時自動啟動映像檔建構作業、設定週期性排程 (例如每週建構安全修補程式),或回應 Pub/Sub 訊息 (從外部工作流程或 Webhook 以程式輔助方式觸發建構作業)。
- 先驗證圖片再發布:先驗證圖片再發布。 Google 提供的檢查會驗證中繼映像檔是否啟動、支援安全啟動 (如適用)、載入必要網路驅動程式,以及執行狀況良好的客體代理程式。
- 追蹤指令碼執行作業:追蹤建構管道期間執行的程式碼。為維護稽核追蹤記錄,Image Builder 會自動在建構記錄中記錄內嵌自訂指令碼的加密 SHA-256 雜湊。
- 只須為耗用的資源付費:Image Builder 服務不需額外付費。只有在管道執行時,您才會產生基礎運算、儲存空間和建構資源的費用。
Image Builder 的運作方式
Image Builder 會使用 Cloud Build 編排器容器,在您的 Google Cloud 專案中執行。映像檔建構程序包含下列階段:
- 驗證和準備:協調器容器會檢查 YAML 語法,並確認所有必要的 API 皆已啟用,且目標 Identity and Access Management (IAM) 安全性權限處於有效狀態。
- 準備工作區和磁碟:協調器容器會將包含原始碼和設定的 Cloud Build 工作區目錄 (
/workspace) 封存為壓縮的 tar 檔案 (.tar.gz),並將這個 tar 檔案上傳至建構設定中指定的 Cloud Storage workdir bucket。然後,協調器容器會使用靜態編譯的自訂佈建程式檔案系統,建立臨時的 Compute Engine 映像檔,定義附加至工作站 VM 的次要資料磁碟。 - Worker VM 執行作業:自動調度管理工具容器會使用指定的來源映像檔做為開機磁碟,啟動暫時性 worker VM 執行個體,並附加包含自訂佈建工具的次要資料磁碟。工作站 VM 的硬體屬性、虛擬私有雲網路、子網路和外部 IP 指派 (暫時性公用 IP 或沒有外部 IP) 是由
infrastructureConfig檔案中的imagebuilder.yaml設定決定。 - 自訂:開機指令碼會掛接資料磁碟,並在 worker VM 上啟動自訂佈建器。佈建工具會下載工作區封存檔,並套用您宣告的自訂項目,例如執行殼層指令碼、複製檔案或編譯驅動程式。此外,也會執行安全清除作業,清除 SSH 金鑰、專屬機器 ID 和記錄歷程。然後關閉執行個體。
- 驗證 (測試):協調器容器會從自訂開機磁碟建立臨時測試 OS 映像檔,並使用
imagebuilder.yaml檔案中的網路和基礎架構設定,佈建臨時測試 VM,以執行下列系統定義的驗證檢查:- Intel IDPF 驅動程式驗證:驗證支援的執行個體是否載入 Intel 基礎架構資料路徑函式 (
idpf) 網路驅動程式,而非一般顯示或備援驅動程式。 - 網路和客體代理程式驗證:確認客體代理程式服務處於啟用狀態、至少有一個非迴路網路介面已啟動,且名稱符合慣例 (
eth*或en*)。 - 安全啟動驗證:確保 UEFI 安全啟動處於啟用狀態,且系統會強制執行客體核心驗證。
- 暫停或繼續驗證:使用 Compute Engine API 暫停測試 VM,並驗證系統在繼續執行後恢復網路連線,且無須重新啟動。
- Intel IDPF 驅動程式驗證:驗證支援的執行個體是否載入 Intel 基礎架構資料路徑函式 (
- 發布:如果所有驗證檢查都通過,自動調度管理工具容器會準備最終映像檔:
- 如果已設定 Artifact Registry:協調器容器會將自訂開機磁碟匯出為 tar 檔案,匯入 Artifact Registry 一般存放區,並使用 Artifact Registry URI 做為來源,建立最終的正式版 Compute Engine 映像檔。
- 如果未設定 Artifact Registry:協調器容器會使用自訂開機磁碟,直接在專案中建立 Compute Engine 映像檔。
價格與配額考量事項
Image Builder 服務不需額外付費。 不過,在建構、測試及發布階段,系統會 Google Cloud 針對佈建的標準資源收費:
- Compute Engine:工作站 VM、測試 VM 和附加永久磁碟的費用。
- Cloud Build:收取協調器容器執行階段分鐘數的費用。
- Cloud Storage:工作區封存、記錄匯出和中繼資產的費用。
- Artifact Registry:如果已設定,則會收取儲存匯出映像檔 tar 檔案的費用。
- 自訂映像檔:儲存中繼測試、偵錯和正式版映像檔的費用。
如要瞭解資源費用的詳細資訊,請參閱 Compute Engine、Cloud Build、Cloud Storage、Artifact Registry 和自訂映像檔儲存空間的定價說明文件。
配額需求
請確認專案在執行建構作業的區域中,具備充足的 Compute Engine CPU 和永久磁碟配額。目標可用區的配額不足,導致管道在佈建 VM 時失敗。