本頁說明如何為 Cloud Run 工作站集區設定進入點指令和引數。
Cloud Run 啟動容器時,會執行映像檔的預設進入點指令和預設指令引數。如要覆寫映像檔的預設進入點和指令引數,可以使用容器設定中的 command
和 args
欄位。command
欄位會指定容器執行的實際指令。args
欄位會指定傳遞至該指令的引數。
請注意,每個工作站集區的每個容器最多只能有 1000 個引數。
必要的角色
如要取得設定及部署 Cloud Run 工作站集區所需的權限,請要求管理員授予下列 IAM 角色:
-
Cloud Run 開發人員 (
roles/run.developer
) 在 Cloud Run worker 集區上 -
服務帳戶使用者 (
roles/iam.serviceAccountUser
) 服務身分
如需與 Cloud Run 相關的 IAM 角色和權限清單,請參閱 Cloud Run IAM 角色和 Cloud Run IAM 權限。如果 Cloud Run 工作人員集區與Google Cloud API (例如 Cloud 用戶端程式庫) 介接,請參閱服務身分設定指南。如要進一步瞭解如何授予角色,請參閱部署權限和管理存取權。
設定進入點和引數
變更任何設定都會建立新的修訂版本。除非您明確做出更新,變更這項設定,否則後續的修訂版本也會自動取得這個設定。
指定的容器指令和引數會覆寫預設映像檔的 ENTRYPOINT
和 CMD
。
您可以使用Google Cloud console、Google Cloud CLI 或 Terraform,為 Cloud Run 工作站集區設定進入點指令和引數:
控制台
前往 Google Cloud 控制台的 Cloud Run:
從選單中選取「工作站集區」,然後按一下「部署容器」,設定新的工作站集區。如要設定現有工作站集區,請按一下該集區,然後按一下「編輯並部署新修訂版本」。
如要設定新的工作站集區,請填寫初始工作站集區頁面,然後按一下「容器、磁碟區、網路與安全性」,展開工作站集區設定頁面。
按一下「容器」分頁標籤。
- 如果您不想使用容器映像檔中定義的進入點指令,請指定要讓容器執行的指令。您可以視需要指定進入點指令的引數。
按一下 [Create] (建立) 或 [Deploy] (部署)。
gcloud
如要更新現有服務的啟動指令和引數,請按照下列步驟操作:
gcloud beta run worker-pools update WORKER_POOL --command COMMAND --args ARG1,ARG-N
更改下列內容:
- WORKER_POOL:工作站集區的名稱。
- COMMAND:容器啟動時要執行的指令 (如果您未使用預設指令)。
- ARG1:傳送至容器指令的引數。如要使用多個引數,請以半形逗號分隔。
如要在部署新的或現有工作站集區時指定進入點和引數,請按照下列步驟操作:
gcloud beta run worker-pools deploy --image IMAGE_URL --command COMMAND --args ARG1,ARG-N
將 IMAGE_URL 替換為含有工作站集區的容器映像檔參照,例如 us-docker.pkg.dev/cloudrun/container/worker-pool:latest
。
如要將容器的 entrypoint 指令和引數還原為預設值,請提供空字串,如下所示:
gcloud beta run worker-pools deploy --image IMAGE_URL --command "" --args ""
Terraform
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。
resource "google_cloud_run_v2_worker_pool" "default" {
name = "WORKER_POOL"
location = "REGION"
launch_stage = "BETA"
template {
containers {
image = "IMAGE_URL"
command = ["COMMAND"]
args = ["ARG1", "ARG2"]
}
}
}
更改下列內容:
- WORKER_POOL:工作站集區的名稱。
- REGION: Google Cloud 區域,例如
europe-west1
。 - IMAGE_URL:工作站集區所含容器映像檔的參照,例如
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
。 - COMMAND:容器啟動時要執行的指令 (如果您未使用預設指令)。
- ARG1、ARG2:傳送至容器指令的引數。
設定補充容器部署作業的啟動順序
如要在附屬應用程式部署作業中指定容器啟動順序,請使用容器依附元件功能。指定有依附元件的容器,並列出這些容器依附的容器,以便優先啟動這些容器。系統一律會先啟動沒有任何依附元件的容器,且會同時啟動。
如要順利使用這項功能,必須使用啟動健康狀態檢查探針。啟動探測作業可讓 Cloud Run 檢查相依容器的健康狀態,確保容器順利通過檢查,再啟動下一個容器。如果您未使用健康狀態檢查,即使容器所依附的容器無法啟動,系統仍會依指定順序啟動容器。
請注意,工作站集區沒有預設的啟動健康狀態檢查探測。
使用 Google Cloud 控制台或 Google Cloud CLI 指定啟動順序:
控制台
前往 Google Cloud 控制台的 Cloud Run 頁面:
- 從選單中選取「工作站集區」。
- 如果是現有 worker 集區,請按一下清單中的 worker 集區,然後選取「Edit and deploy new revision」(編輯並部署新修訂版本),顯示修訂版本部署表單。
- 如要建立新的工作站集區,請按一下「Deploy container」(部署容器),顯示「Create worker pool」(建立工作站集區) 表單。
如果是新的工作站集區,請指定工作站集區名稱、輸入容器網址、CPU 分配量、輸入控制項和驗證。在「容器、磁碟區、網路與安全性」分頁中,執行下列操作:
- 設定 Ingress 容器。
- 如要新增部署的其他容器,請按一下「新增容器」。
- 除了 Ingress 容器,請為所有容器設定啟動健康狀態檢查。
- 如果容器需要在特定其他容器之後啟動,請在「容器啟動順序」選單中選取這些容器。
如要使用現有工作站集區,請按照下列步驟操作:
- 除了 Ingress 容器,請為所有容器設定啟動健康狀態檢查。
- 每個容器都會顯示自己的「容器啟動順序」選單。如果容器需要先啟動其他容器才能啟動,請使用「容器啟動順序」選單選取必須先啟動的容器。
完成所有其他必要設定,然後按一下「建立」(適用於新的工作站集區) 或「部署」(適用於現有工作站集區)。等待部署完成。
gcloud
使用 Google Cloud CLI 指定啟動順序前,請先設定啟動健康狀態檢查。
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
如要將多個容器部署至服務,並指定啟動順序,請執行下列指令:
- WORKER_POOL:工作站集區的名稱。
- IMAGE_URL:工作站集區所含容器映像檔的參照,例如
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
。 SIDECAR_IMAGE:補充容器映像檔的參照。
如要在部署指令中設定每個容器,請在
container
參數後提供每個容器的設定。
gcloud beta run worker-pools deploy WORKER_POOL \ --container CONTAINER_1_NAME --image='WORKER_POOL_IMAGE' --container CONTAINER_2_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME \ --container CONTAINER_3_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME,CONTAINER_2_NAME
更改下列內容:
查看工作站集區的容器設定
前往 Google Cloud 控制台的 Cloud Run:
按一下「工作站集區」,即可顯示已部署的工作站集區清單。
按一下要檢查的 worker 集區,顯示詳細資料窗格。
按一下「Containers」(容器) 分頁標籤,即可顯示工作站集區容器設定。