設定服務的標籤

Cloud Run 標籤是套用至 Cloud Run 服務和修訂版本的鍵/值組合。本頁面說明如何設定、修改及刪除 Cloud Run 服務和修訂版本的標籤。請注意,在 Cloud Run 服務上設定標籤時,系統會為該服務建立具有這個標籤的新修訂版本,標籤不會套用至舊版修訂版本。

可能的用途包括:

  • 費用分配和帳單明細。
  • 找出個別團隊或成本中心使用的資源。
  • 區分部署環境 (正式、測試、QA 或測試)。
  • 找出擁有者和狀態標籤。
  • 在 Logging 中篩選記錄。

標籤使用規則

下列規則適用於 Cloud Run 服務設定的標籤:

Cloud Run 只能使用有效 Google Cloud 標籤

必要的角色

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

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

設定或修改標籤

變更任何設定都會建立新的修訂版本。除非您明確做出更新,變更這項設定,否則後續的修訂版本也會自動取得這個設定。

使用 gcloud functions 指令或 Cloud Functions v2 API 為 Cloud Run functions 設定的標籤,會在您在 Cloud Run 中部署函式時,傳播至 Cloud Run。

Google Cloud 您可以在部署新修訂版本時,使用主控台、gcloud 指令列或 YAML 檔案設定或修改標籤。

控制台

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

    前往 Cloud Run

  2. 找出要設定標籤的服務,然後勾選左側的核取方塊。

  3. 確認最右側的「資訊面板」已開啟 (「顯示資訊面板」)。

  4. 按一下「標籤」即可顯示標籤窗格。

    設定標籤

  5. 如要編輯現有標籤鍵值,請找出標籤並視需要變更「值」

  6. 如要在服務上設定新標籤,請按一下「新增標籤」,然後提供鍵和值。

  7. 點選「儲存」

gcloud

您可以使用下列指令更新服務的標籤:

gcloud run services update SERVICE --update-labels KEY=VALUE

如要更新多個標籤,請提供以半形逗號分隔的鍵/值組合清單。請注意,如果標籤已存在,update-labels 指令會為標籤鍵設定新值,否則會建立新標籤。

取代

  • SERVICE,並將其替換為 Cloud Run 服務名稱
  • KEY 改為標籤鍵的名稱
  • VALUE,並提供索引鍵的值

您也可以在部署期間設定標籤:

gcloud run deploy SERVICE --image IMAGE --labels KEY=VALUE

如要在部署期間建立多個標籤,請提供以半形逗號分隔的鍵/值組合清單。

YAML

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

    gcloud run services describe SERVICE --format export > service.yaml
  2. 在兩個位置更新 labels 屬性:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
      labels:
        LABEL: VALUE
    spec:
      template:
        metadata:
          labels:
            LABEL: VALUE
          name: REVISION

    取代

    • SERVICE 改為 Cloud Run 服務名稱
    • LABEL 替換為標籤名稱
    • VALUE 替換為所需值
    • REVISION,並提供新的修訂版本名稱,或刪除該名稱 (如有)。如果您提供新的修訂版本名稱,則必須符合下列條件:
      • 開頭為「SERVICE-
      • 只能包含小寫字母、數字和 -
      • 結尾不是 -
      • 不超過 63 個半形字元

    metadata.labels 會在服務物件上設定標籤,而 spec.template.metadata.label 則會在建立的修訂版本上設定標籤。只有在修訂版本中設定的標籤會傳遞至記錄和帳單。

  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-labels"
  location = "us-central1"

  deletion_protection = false # set to "true" in production

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"
    }
    # Labels
    labels = {
      foo : "bar"
      baz : "quux"
    }
  }
}

上述程式碼片段會將兩個標籤 (foo,值為 bar;以及 baz,值為 quux) 新增至 Cloud Run 執行個體。

template 下方新增標籤,即可為修訂版本設定標籤:只有為修訂版本設定的標籤會傳遞至記錄和帳單。如果將標籤加到 template 以外的位置,標籤會套用至服務,而非修訂版本。

取代:

  • name 屬性,並將其設為服務名稱。
  • location 屬性,並使用服務的位置。
  • image 屬性,並提供容器映像檔。
  • foobaz 替換為您自己的標籤名稱。
  • barquux 替換為您自己的標籤值。

依標籤列出服務

您可以使用 Google Cloud CLI 篩選器,依標籤列出服務:

  gcloud run services list --filter metadata.labels.LABEL=VALUE
  

取代:

  • LABEL 替換為標籤名稱
  • VALUE,然後輸入要納入篩選清單的值

刪除服務的標籤

您可以使用主控台或指令列刪除服務的標籤。

控制台

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

    前往 Cloud Run

  2. 找出要刪除標籤的服務,然後勾選左側的核取方塊。

  3. 確認最右側的「資訊面板」已開啟 (「顯示資訊面板」)。

  4. 按一下「標籤」即可顯示標籤窗格。

  5. 找出要刪除的標籤。

  6. 將游標懸停在標籤的「Value」(值) 文字方塊右側,顯示垃圾桶圖示,然後按一下垃圾桶圖示。

  7. 點選「儲存」

gcloud

如要清除服務的所有標籤:

gcloud run services update SERVICE --clear-labels

如要從服務中刪除特定標籤,請提供以半形逗號分隔的鍵清單:

gcloud run services update SERVICE --remove-labels LABEL

取代

  • SERVICE,並將其替換為 Cloud Run 服務名稱
  • LABEL 改為標籤名稱