本頁說明如何指定 Cloud Run 執行個體的執行環境。根據預設,Cloud Run 服務不會指定執行環境,因此 Cloud Run 會根據使用的功能選取執行環境。如果未指定服務的執行環境,Cloud Run 可以選取第一代或第二代環境。
請注意,Cloud Run 作業只會使用第二代執行環境,且無法變更。
請參閱執行環境概念文件,協助為服務選擇最合適的環境。
必要的角色
如要取得設定及部署 Cloud Run 服務所需的權限,請要求管理員授予下列 IAM 角色:
-
Cloud Run 開發人員 (
roles/run.developer
) 在 Cloud Run 服務上 -
服務帳戶使用者 (
roles/iam.serviceAccountUser
) 服務身分
如果您要從原始碼部署服務或函式,您也必須在專案和 Cloud Build 服務帳戶中獲得額外角色。
如需與 Cloud Run 相關聯的 IAM 角色和權限清單,請參閱 Cloud Run IAM 角色和 Cloud Run IAM 權限。如果 Cloud Run 服務與Google Cloud API (例如 Cloud 用戶端程式庫) 介接,請參閱服務身分設定指南。 如要進一步瞭解如何授予角色,請參閱部署權限和管理存取權。
設定及更新執行環境
變更任何設定都會建立新的修訂版本。除非您明確做出更新,變更這項設定,否則後續的修訂版本也會自動取得這個設定。
Cloud Run 服務的預設值為「未指定」,也就是由 Cloud Run 選取合適的執行環境。或者,您也可以指定執行環境。如要使用第二代,您必須指定至少 512 MiB 的記憶體。
當您建立新服務或部署新修訂版本時,可以使用 Google Cloud 控制台、gcloud 指令列或 YAML 檔案設定執行環境:
控制台
前往 Google Cloud 控制台的 Cloud Run:
從選單中選取「服務」,然後按一下「部署容器」,設定新服務。如要設定現有服務,請按一下該服務,然後點選「Edit and deploy new revision」(編輯及部署新修訂版本)。
如要設定新服務,請填寫初始服務設定頁面,然後按一下「容器、磁碟區、網路與安全性」,展開服務設定頁面。
按一下「容器」分頁標籤。
- 使用選項按鈕選取所需的執行環境。保留「預設」設定,讓 Cloud Run 選取合適的執行環境。
按一下 [Create] (建立) 或 [Deploy] (部署)。
gcloud
您可以使用以下指令,更新特定服務的執行環境:
gcloud run services update SERVICE --execution-environment ENVIRONMENT
將 SERVICE 改為您的服務名稱,並將 ENVIRONMENT 改為所需的執行環境。為第一代指定 gen1
值,為第二代指定 gen2
值。
您也可以在部署期間,使用以下指令設定執行環境:
gcloud run deploy --image IMAGE_URL --execution-environment ENVIRONMENT
更改下列內容:
- IMAGE_URL:容器映像檔的參照,例如
us-docker.pkg.dev/cloudrun/container/hello:latest
。如果您使用 Artifact Registry,則必須先建立存放區 REPO_NAME。網址格式為LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
。 ENVIRONMENT
:所需的執行環境。為第一代指定gen1
值,或為第二代指定gen2
值。
YAML
如要建立新服務,請略過這個步驟。 如要更新現有服務,請下載其 YAML 設定:
gcloud run services describe SERVICE --format export > service.yaml
設定
run.googleapis.com/execution-environment
註解:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: annotations: run.googleapis.com/execution-environment: ENVIRONMENT
更改下列內容:
- SERVICE:Cloud Run 服務的名稱。
- ENVIRONMENT:所選執行環境。
為第一代指定
gen1
值,為第二代指定gen2
值。
移除預設行為的
run.googleapis.com/execution-environment
註解。使用下列指令建立或更新服務:
gcloud run services replace service.yaml
Terraform
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。
在 Terraform 設定中,將下列項目新增至google_cloud_run_v2_service
資源:resource "google_cloud_run_v2_service" "default" {
name = "cloudrun-service-execution-environment"
location = "REGION"
template {
containers {
image = "us-docker.pkg.dev/cloudrun/container/hello"
}
execution_environment = "ENVIRONMENT"
}
}
更改下列內容:
- REGION: Google Cloud 區域。例如:
europe-west1
。 - ENVIRONMENT:第一代為
EXECUTION_ENVIRONMENT_GEN1
,第二代為EXECUTION_ENVIRONMENT_GEN2
。
查看執行環境設定
如要查看 Cloud Run 服務目前的執行環境設定:
控制台
前往 Google Cloud 控制台的 Cloud Run:
按一下感興趣的服務,開啟「服務詳細資料」頁面。
按一下「Revisions」(修訂版本) 分頁標籤。
在右側的詳細資料面板中,「執行環境」設定會列在「容器」分頁下方。
gcloud
使用下列指令:
gcloud run services describe SERVICE
在傳回的設定中找出「執行環境」設定。