Cloud Run worker 集區的執行個體分割和回溯

Worker 集區會處理非要求工作負載。如果需要將工作分配給多個修訂版本 (例如部署新修訂版本),worker 集區會使用執行個體分割功能。

Cloud Run 可讓您指定哪些修訂版本會收到執行個體,並為每個修訂版本指定執行個體分配百分比。這項功能可讓您還原至先前的修訂版本、在多個修訂版本之間拆分執行個體,以及將執行個體分配至最新修訂版本。本頁面說明如何使用這項功能,管理 Cloud Run 修訂版本的執行個體分配。

執行個體分配調整不會立即生效。變更修訂版本的執行個體分配時,所有正在處理的要求都會繼續完成。系統不會捨棄處理中的要求,且在轉換期間,Cloud Run 可能會將這些要求導向新修訂版本或舊修訂版本。

執行個體分割的生命週期

如果您在多個修訂版本之間分割執行個體,或將執行個體指派給先前的修訂版本,後續所有部署作業都會使用該執行個體分割模式。如要返回只使用最新修訂版本,而不進行執行個體分割,請將所有執行個體傳送至最新修訂版本

必要的角色

如要取得管理 Cloud Run worker 集區和 worker 集區修訂版本所需的權限,請要求管理員授予您 Cloud Run worker 集區的 Cloud Run 開發人員 (roles/run.developer) IAM 角色。

如需與 Cloud Run 相關聯的 IAM 角色和權限清單,請參閱「Cloud Run IAM 角色」和「Cloud Run IAM 權限」。如果 Cloud Run 工作站集區與Google Cloud API (例如 Cloud 用戶端程式庫) 介接,請參閱服務身分設定指南。如要進一步瞭解如何授予角色,請參閱「部署權限」和「管理存取權」。

復原至先前的修訂版本

如要復原至先前的修訂版本,請使用 Google Cloud 控制台或 Google Cloud CLI:

控制台

  1. 前往 Google Cloud 控制台的 Cloud Run 工作站集區:

    前往 Cloud Run

  2. 在清單中找出工作站集區,然後按一下。

  3. 按一下「修訂版本」分頁標籤,即可顯示該工作站集區的目前修訂版本清單。

  4. 按一下「管理執行個體分割」,顯示管理執行個體表單。 Cloud Run 會列出最新的服務修訂版本。在表單中設定下列詳細資料:

    1. 新增修訂版本,然後使用下拉式清單選取先前的修訂版本。
    2. 將先前修訂版本的執行個體百分比設為 100。
    3. 將最新服務修訂版本的百分比設為 0。
    4. 按一下 [儲存]

gcloud

執行下列指令,指定要復原的版本。

   gcloud beta run worker-pools update-instance-split WORKER_POOL --to-revisions=REVISION=100

更改下列內容:

  • WORKER_POOL:工作站集區的名稱。
  • REVISION:要還原的修訂版本名稱。

將執行個體拆分給多個修訂版本

如要在兩個或多個修訂版本之間分割執行個體,請使用 Google Cloud 控制台或 Google Cloud CLI:

在多個修訂版本之間分割執行個體時,請確保所有修訂版本的總百分比等於 100%,且手動執行個體數量必須大於提供工作負載的執行個體分割數量。

控制台

  1. 前往 Google Cloud 控制台的 Cloud Run 工作站集區:

    前往 Cloud Run

  2. 在清單中找出工作站集區,然後按一下。

  3. 按一下「Revisions」(修訂版本) 分頁標籤,即可查看該工作站集區的目前修訂版本清單。

  4. 按一下「管理執行個體分割」,顯示管理執行個體表單。 Cloud Run 會列出最新的服務修訂版本。在表單中設定下列詳細資料:

    1. 將最新服務修訂版本的百分比設為所需比例,例如從 100% 降低。

    2. 按一下「新增修訂版本」,然後使用下拉式清單選取先前的修訂版本,並設定相應的百分比分配。

    3. 如要使用其他修訂版本分割執行個體,請按一下「新增修訂版本」,然後選取其他修訂版本並設定百分比。

    4. 按一下 [儲存]

gcloud

執行下列指令,指定修訂版本和執行個體百分比。以半形逗號分隔的清單形式,為每個修訂版本分配執行個體

   gcloud beta run worker-pools update-instance-split WORKER_POOL --to-revisions=LIST

更改下列內容:

  • WORKER_POOL:工作站集區的名稱。

  • LIST:以半形逗號分隔的修訂版本和百分比清單:

    REVISION1=PERCENTAGE1,REVISION2=PERCENTAGE2,REVISIONn=PERCENTAGEx.

    例如 my-worker-pool-s5sxn=10,my-worker-pool-cp9kw=90

將執行個體分配至最新修訂版本

部署新修訂版本時,您可以將 100% 的執行個體分配給這個修訂版本和所有後續版本,覆寫任何已建立的執行個體拆分。如要將 100% 的執行個體分配給最新修訂版本,請執行下列指令:

  • 使用 --to-latest 標記,將 100% 的執行個體導向最新修訂版本,並自動將所有執行個體分配給您部署的任何新修訂版本:

    gcloud beta run worker-pools update-instance-split WORKER_POOL --to-latest
    
  • 您可以視需要搭配 LATEST 關鍵字使用 --to-revisions 旗標,在部署最新修訂版本時,一律將浮動百分比的執行個體分配給該版本。如要設定一律會浮動至最新修訂版本的執行個體百分比,請執行下列指令:

    gcloud beta run worker-pools update-instance-split WORKER_POOL --to-revisions=LATEST=PERCENTAGE
    

    更改下列內容:

    • WORKER_POOL:工作站集區的名稱。
    • PERCENTAGE:要為最新和未來最新修訂版本分配的執行個體百分比。

後續步驟