選取服務的執行環境

本頁說明如何指定 Cloud Run 執行個體的執行環境。根據預設,Cloud Run 服務不會指定執行環境,因此 Cloud Run 會根據使用的功能選取執行環境。如果未指定服務的執行環境,Cloud Run 可以選取第一代或第二代環境。

請注意,Cloud Run 作業只會使用第二代執行環境,且無法變更。

請參閱執行環境概念文件,協助為服務選擇最合適的環境。

必要的角色

如要取得設定及部署 Cloud Run 服務所需的權限,請要求管理員授予下列 IAM 角色:

如需與 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 檔案設定執行環境:

控制台

  1. 前往 Google Cloud 控制台的 Cloud Run:

    前往 Cloud Run

  2. 從選單中選取「服務」,然後按一下「部署容器」,設定新服務。如要設定現有服務,請按一下該服務,然後點選「編輯並部署新修訂版本」

  3. 如要設定新服務,請填寫初始服務設定頁面,然後按一下「容器、磁碟區、網路與安全性」,展開服務設定頁面。

  4. 按一下「容器」分頁標籤。

    圖片

    • 使用選項按鈕選取所需的執行環境。保留「預設」設定,讓 Cloud Run 選取合適的執行環境。
  5. 按一下 [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

  1. 如要建立新服務,請略過這個步驟。 如要更新現有服務,請下載其 YAML 設定

    gcloud run services describe SERVICE --format export > service.yaml
  2. 設定 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 註解。

  3. 使用下列指令建立或更新服務:

    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 服務目前的執行環境設定:

控制台

  1. 前往 Google Cloud 控制台的 Cloud Run:

    前往 Cloud Run

  2. 按一下感興趣的服務,開啟「服務詳細資料」頁面。

  3. 按一下「Revisions」(修訂版本) 分頁標籤。

  4. 在右側的詳細資料面板中,「執行環境」設定會列在「容器」分頁下方。

gcloud

  1. 使用下列指令:

    gcloud run services describe SERVICE
  2. 在傳回的設定中找出「執行環境」設定。