本文將介紹使用映像檔系列管理 Compute Engine 上不斷演進的作業系統 (OS) 映像檔版本的最佳做法。映像檔系列可讓您將相關映像檔分組,讓自動化工具參照最新版本,同時維持回溯功能。
事前準備
-
如果尚未設定驗證,請先完成設定。
驗證可確認您的身分,以便存取 Cloud de Confiance by S3NS 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:
選取這個頁面上範例的預計用途分頁:
gcloud
-
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。登入後,執行下列指令來初始化 Google Cloud CLI:
gcloud init
-
- 設定預設區域和可用區。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。
詳情請參閱 Cloud de Confiance 驗證說明文件中的「使用 REST 進行驗證」。
公開映像檔系列
Compute Engine 提供映像檔系列,確保您的自動化處理系統可以參照最新的映像檔。管理員可以將多個映像檔歸類為一個映像檔系列。這樣一來,映像檔使用者只需要追蹤映像檔系列名稱,不必追蹤確切的映像檔名稱。由於圖片名稱不得重複,圖片建構管道通常會建立圖片名稱,並在其中編碼資訊,例如應用程式名稱、日期和版本,例如 my-application-v3-20210101。在自動化工具中,您可以參照映像檔系列名稱,不必定期更新映像檔名稱。使用映像檔系列可確保您一律存取系列中的最新映像檔,例如 my-application。
公開映像檔會歸類為映像檔系列。公開映像檔系列一律會指向每個區域中可用的最新版映像檔。當新映像檔在全球發布時,映像檔系列中的初始可用性取決於區域,這有助於在 Google 映像檔更新期間,提升工作流程的區域容錯能力。
在映像檔推出期間,映像檔系列中最新版本的映像檔在不同可用區可能有所不同。舉例來說,debian-cloud 專案中的 debian-12 映像檔系列一律會指向最新的 Debian 12 映像檔,但 us-central1-a 和 southamerica-east1-b 區域中最新的 Debian 12 映像檔可能不同。
使用 Google Cloud CLI 從映像檔系列建立 VM 時,Compute Engine 會使用 VM 所在區域中可用的最新映像檔來處理要求。使用 Cloud de Confiance 控制台建立 VM 時,Compute Engine 只會顯示所選區域的可用公開映像檔。如要使用最新全球可用映像檔建立 VM,請使用 gcloud CLI instances create 指令,並指定 --image-family-scope=global。
查看最新可用映像檔版本
您可以查看映像檔系列中最新的全球可用映像檔,或查看特定區域中最新的可用映像檔。
全球
如要查看映像檔系列中最新的全球可用映像檔,請使用下列其中一種方法:
gcloud
使用 gcloud compute images describe-from-family 指令:
gcloud compute images describe-from-family IMAGE_FAMILY_NAME \ --project=IMAGE_PROJECT
更改下列內容:
REST
向 images.getFromFamily 方法發出 GET 要求:
GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY_NAME
更改下列內容:
每個區域
如要查看特定區域的映像檔系列中可用的最新映像檔,請使用下列其中一種方法:
gcloud
使用 gcloud compute images describe-from-family 指令,並加上 --zone 旗標:
gcloud compute images describe-from-family IMAGE_FAMILY_NAME \ --project=IMAGE_PROJECT \ --zone=ZONE
更改下列內容:
REST
向 imageFamilyViews 方法發出 GET 要求:
GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/zones/ZONE/imageFamilyViews/IMAGE_FAMILY_NAME
更改下列內容:
自訂映像檔系列
您可以為自訂映像檔建立自訂映像檔系列。映像檔系列會指向您用來建立映像檔系列的最新映像檔。如要將映像檔系列還原為先前的映像檔版本,您可以淘汰該系列中最新的映像檔,前提是先前的映像檔未遭淘汰。詳情請參閱在映像檔系列中設定映像檔版本。
如要使用映像檔系列建立映像檔,或建立映像檔系列 (如果不存在),您必須在映像檔建立步驟中新增額外的 --family 旗標,例如:
gcloud compute images create my-application-v3-20210101 \
--source-disk my-application-disk-1 \
--source-disk-zone us-central1-f \
--family my-application
執行這項指令後,任何根據映像檔 my-application 執行執行個體的呼叫,都會指向新建立的映像檔 my-application-v3-20210101。
為映像檔系列選取名稱時,請參閱命名慣例。
如何使用映像檔系列
雖然映像檔系列可讓您參照最新映像檔,但最新映像檔可能與應用程式不相容,如果未經過驗證,可能會導致正式環境發生問題。如要充分發揮映像檔系列的優勢,同時降低風險,建議您先測試映像檔系列中參照的最新映像檔,再將其用於正式環境。
總而言之,您可以考慮採取下列做法:
- 設定與正式環境不同的測試環境。
- 在測試環境中,完成下列步驟:
- 從來源映像檔系列建立自訂映像檔系列。
- 針對工作負載,驗證自訂映像檔系列中新映像檔的穩定性。
- 驗證完成後,請將這個自訂映像檔系列移至正式環境。
舉例來說,這個程序可能類似於下列程序。
在測試專案中,從來源映像檔系列建立映像檔。這個新的圖片來源系列也必須有自己的自訂圖片系列,才能在測試環境中參照。如要使用自訂映像檔系列建立映像檔,請執行下列指令:
gcloud compute images create test-image-name \ --source-image-project source-project \ --source-image-family source-image-family \ --project test-project \ --family test-image-family
更改下列內容:
test-image-name:測試映像檔的名稱。source-project:來源映像檔系列所屬的專案。source-image-family:來源映像檔系列的名稱。test-project:要新增映像檔系列的測試專案名稱。test-image-family:測試映像檔系列的名稱。
使用自訂映像檔系列
test-image-family建立 VM,測試工作負載。執行下列指令來建立 VM:gcloud compute instances create test-instance-name \ --image-family your-test-image-family \ --project test-project
更改下列內容:
test-instance-name:測試執行個體的名稱。test-image-family:測試映像檔系列的名稱。test-project:測試專案的名稱。
確認這個映像檔適用於工作負載後,請將映像檔複製到正式環境。
gcloud compute images create prod-image-name \ --source-image-family test-image-family \ --source-image-project test-project \ --project prod-project \ --family prod-image-family
更改下列內容:
prod-image-name:正式版映像檔的名稱。test-image-family:測試映像檔系列的名稱。test-project:測試映像檔系列所屬的專案。prod-project:正式環境中的專案名稱。prod-image-family:要在正式環境中使用的映像檔系列名稱。