直接在Google Cloud 控制台中設定及啟動 Image Builder 管道。 Google Cloud 控制台提供互動式介面,可讓您指定基礎圖片來源、輸出目的地、自訂步驟和執行觸發條件。
事前準備
- 完成「準備環境」一文中的環境設定步驟。
- 如要從 Git 存放區自動觸發建構作業,請使用 Cloud Build 存放區 (
2nd gen) 或 Developer Connect 連線連結,連結 GitHub、GitLab 或 Bitbucket 存放區。
必要的角色
如要取得使用 Google Cloud 控制台建立及管理映像檔自訂管道所需的權限,請要求管理員在專案中授予您下列 IAM 角色:
- Cloud Build 編輯者 (
roles/cloudbuild.builds.editor) - 服務帳戶使用者 (
roles/iam.serviceAccountUser) - Compute 管理員 (
roles/compute.admin)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
建立及管理管道
在 Google Cloud 控制台中,您可以建立新的自訂 OS 映像檔管道、編輯現有設定、複製現有管道,或在不再需要管道時刪除管道。
建立管道
如要使用 Google Cloud 控制台建立自訂 OS 映像檔管道,請完成下列步驟:
前往 Google Cloud 控制台的「Images」頁面。
按一下「Image Builder」,前往 Image Builder 首頁。
在區域選取器中,選取要建立管道的區域。
按一下「建立管道」。
在「管道設定」部分,設定核心管道詳細資料:
- 名稱:輸入管道的專屬名稱。
- 說明: (選用) 輸入管道說明。
- 「Region」(區域):選取管道的 Google Cloud 區域。只要提供 Cloud Build 的區域,都支援 Image Builder。
- 「Service account」(服務帳戶):選取已設定必要 IAM 權限的服務帳戶,或建立新的服務帳戶。
- 設定來源:選取下列其中一種方法,指定自訂設定和指令碼的儲存位置:
- 與存放區整合:選擇這個選項,從 Git 存放區擷取自訂方案和指令碼。由於存放區的
imagebuilder.yaml檔案定義了來源基礎映像檔、建構區域、自訂步驟和目標映像檔設定,因此控制台會直接前往觸發程序。設定下列欄位:- 存放區:選取已連結的存放區,或按一下「連結存放區」,連結 GitHub、GitLab 或 Bitbucket 存放區。
- Image Builder 設定路徑:在存放區中輸入自訂配方檔案的相對路徑,例如
imagebuilder.yaml。 - Cloud Storage 資料夾:按一下「瀏覽」,選取要上傳管道記錄和建構構件的 Cloud Storage 資料夾。
- 將指令碼儲存在 Google Cloud Storage:選擇這個替代方案,直接在控制台介面中設定基礎映像檔、目標映像檔詳細資料和自訂步驟。控制台會將指令碼儲存至 Cloud Storage,並逐步引導您完成精靈。設定下列欄位:
- 自訂指令碼的資料夾:按一下「瀏覽」,選取要儲存自訂指令碼的 Cloud Storage 資料夾。
- 與存放區整合:選擇這個選項,從 Git 存放區擷取自訂方案和指令碼。由於存放區的
- Artifact Registry: (選用) 如要上傳目標映像檔封存檔,並產生密碼編譯 SLSA 建構作業來源資訊認證,請從「Artifact Registry 存放區」清單中選取一般存放區。詳情請參閱「驗證圖片來源」。
點選「下一步」,根據您選取的設定來源,繼續完成其餘設定面板:
如果您選取「與存放區整合」:
存放區的
imagebuilder.yaml配方會定義來源基本映像檔、目標映像檔設定和自訂步驟。控制台會略過手動輸入,直接進入觸發條件:- 在「觸發條件」部分,設定管道的執行時機:
- 依排程執行:使用 Cron 語法指定重複排程。
- 在存放區事件發生時執行:在發生存放區事件時自動觸發建構,例如「推送至分支版本」、「推送新標記」或「提取要求」,並指定分支版本或標記篩選器模式。
- 按一下「下一步」,前往「摘要」部分。
- 檢查管道設定,然後按一下「建立」。
- 在「觸發條件」部分,設定管道的執行時機:
如果選取「將指令碼儲存在 Google Cloud Storage」:
- 在「來源映像檔詳細資料」部分,指定基本 OS 映像檔:
- 使用映像檔系列:選取公開 OS 系列,例如 Container-Optimized OS 或 Ubuntu。管線會自動為每個建構作業,選取該系列中未淘汰的最新映像檔。
- 使用現有映像檔:選取特定 OS 映像檔。
- 按一下「下一步」,前往「目標圖片詳細資料」部分:
- 輸入產生的自訂 OS 映像檔名稱。
- (選用) 指定映像檔系列、說明、資源標籤和客戶自行管理的加密金鑰 (CMEK)。
- 按一下「下一步」,前往「自訂」部分:
- 選取「自訂動作」,即可新增、編輯或重新排序個別自訂步驟,例如安裝套件或執行內嵌殼層指令碼。
- 選取「新增 YAML」,直接以 YAML 格式撰寫或貼上原始食譜
steps。 - (選用) 在「Advanced configurations」(進階設定) 下方,選取要用於執行建構作業的工作站和測試 VM 的特定可用區、機型或預留項目。不支援裸機機器類型。您也可以在食譜的
infrastructureConfig中,指定自訂的 VPC 網路、子網路或外部 IP 設定,例如ephemeral或none。
- 點選「繼續」前往「觸發條件」部分:
- 選取「依排程執行」,定義自動重複排程,或取消勾選以手動執行。
- 按一下「下一步」,前往「摘要」部分。
- 檢查管道設定,然後按一下「建立」。
- 在「來源映像檔詳細資料」部分,指定基本 OS 映像檔:
建立管道後:
- 如果未設定自動觸發條件,可以手動執行管道:在「Image Builder」管道清單中,依序點選管道旁的「更多動作」 >「執行」。
- 如果您設定「依排程執行」或「依存放區事件執行」,當符合觸發條件或排程時,管道就會自動執行。
編輯管道
如要編輯現有的 Image Builder 管道,請完成下列步驟:
前往 Google Cloud 控制台的「Images」頁面。
按一下「Image Builder」,查看管道清單。
在要編輯的管道旁邊,依序點選 「更多動作」>「編輯」。
視需要更新管道設定、設定來源、目標映像檔詳細資料、自訂步驟或觸發條件設定。
按一下 [儲存]。
複製管道
如要複製現有設定來建立新管道,請完成下列步驟:
前往 Google Cloud 控制台的「Images」頁面。
按一下「Image Builder」,查看管道清單。
在要複製的管道旁邊,依序點選 「更多動作」>「複製」。
在管道建立表單中,檢查從原始管道複製的預填參數。你可以編輯「管道名稱」欄位,指定新的專屬名稱。
視需要更新任何管道參數或設定。
點選「建立」。
刪除管道
刪除管道後,Image Builder 會停止日後的自動執行作業,並永久移除管道設定。刪除管道不會刪除您先前建立的任何自訂 OS 映像檔、Artifact Registry 構件或 Cloud Storage bucket。
如要刪除 Image Builder 管道,請完成下列步驟:
前往 Google Cloud 控制台的「Images」頁面。
按一下「Image Builder」,查看管道清單。
在要刪除的管道旁邊,依序按一下 「更多動作」>「刪除」。
在確認對話方塊中,按一下「刪除」即可永久移除管道。
驗證及監控建構作業
如要追蹤建構管道的進度,請完成下列步驟:
前往 Google Cloud 控制台的「Cloud Build」頁面。
在導覽選單中,按一下「記錄」即可查看進行中或已完成的工作。
在「建構」清單中,按一下建構項目的「建構 ID」,即可檢查容器執行記錄。記錄檔會顯示工作站 VM 中執行的步驟,例如系統套件更新或自訂殼層指令,接著是測試 VM 的驗證測試結果,以及最終輸出註冊。
後續步驟
- 瞭解如何在自訂食譜結構定義中定義自訂食譜。
- 如要使用設定檔以程式輔助方式設定及執行管道,請參閱「使用 gcloud CLI 或 Terraform 建立自訂 OS 映像檔管道」。
- 驗證圖片來源。