Cloud Run 標籤是套用至 Cloud Run 服務和修訂版本的鍵/值組合。本頁面說明如何設定、修改及刪除 Cloud Run 服務和修訂版本的標籤。請注意,為 Cloud Run 服務設定標籤時,系統會為該服務建立含有這個標籤的新修訂版本,但不會將標籤套用至舊版。
可能用途包括:
- 成本分配和帳單明細。
- 找出個別團隊或成本中心使用的資源。
- 區分部署環境 (實際工作環境、測試環境、品質確保環境或測試環境)。
- 找出擁有者和狀態標籤。
- 在 Logging 中篩選記錄。
標籤使用規則
下列規則適用於 Cloud Run 服務設定的標籤:
Cloud Run 只能使用有效 Google Cloud 標籤。
帳單資料和記錄的標籤
Cloud Billing 和 Cloud Logging 只會接收 YAML 中 spec.template.metadata.labels 屬性指定的標籤,或 Terraform 中 template 下方的標籤。如果您使用Google Cloud 控制台或 Google Cloud CLI 設定標籤,Cloud Run 會將標籤新增至 metadata.labels 和 spec.template.metadata.labels 屬性。
必要的角色
如要取得設定及部署 Cloud Run 服務所需的權限,請要求管理員授予您下列 IAM 角色:
- Cloud Run 服務的 Cloud Run 開發人員 (
roles/run.developer) - 服務身分的服務帳戶使用者 (
roles/iam.serviceAccountUser)
如果您是從原始碼部署服務或函式,則必須在專案和 Cloud Build 服務帳戶中,取得額外角色。
如要查看與 Cloud Run 相關聯的 IAM 角色和權限清單,請參閱「Cloud Run IAM 角色」和「Cloud Run IAM 權限」。如果 Cloud Run 服務與Google Cloud API (例如 Cloud 用戶端程式庫) 互動,請參閱服務身分設定指南。如要進一步瞭解如何授予角色,請參閱部署權限和管理存取權。
設定或修改標籤
任何設定變更都會建立新的修訂版本。後續修訂版本也會自動套用這項設定,除非您明確更新設定。
如果您先前使用 gcloud functions 指令或 Cloud Functions v2 API 為 Cloud Run 函式設定標籤,當您在 Cloud Run 中部署函式時,這些標籤會套用至 Cloud Run。
部署新修訂版本時,您可以使用 Google Cloud 控制台、Google Cloud CLI 或 YAML 檔案設定或修改標籤。
控制台
在 Google Cloud 控制台中,前往 Cloud Run 的「Services」(服務) 頁面:
找出要設定標籤的服務,然後勾選左側的核取方塊。
按一下「標籤」,顯示標籤窗格。
如要編輯現有的標籤鍵值,請找出標籤並變更值。
如要為服務設定新標籤,請按一下「Add Label」(新增標籤),然後提供鍵和值。
按一下「儲存」。
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
如要建立新服務,請略過這個步驟。如要更新現有服務,請下載其 YAML 設定:
gcloud run services describe SERVICE --format export > service.yaml
在兩個位置更新
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.labels則會在建立的修訂版本上設定標籤。Cloud Run 只會將修訂版本上設定的標籤,傳播至 Cloud Logging 和 Cloud Billing。使用下列指令建立或更新服務:
gcloud run services replace service.yaml
gcloud run services replace指令預設會使用service.yaml檔案 (如有)。
Terraform
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。
在 Terraform 設定中,將下列內容新增至google_cloud_run_v2_service 資源:上述程式碼片段會將兩個標籤 foo (值為 bar) 和 baz (值為 quux) 新增至 Cloud Run 執行個體。
在 template 下方新增標籤,即可設定修訂版本的標籤:只有為修訂版本設定的標籤,才會傳遞至 Cloud Logging 和 Cloud Billing。如果將標籤新增至 template 以外的位置,標籤會套用至服務,而非修訂版本。
更改下列內容:
name:服務名稱。location:服務使用的位置。image:容器映像檔。foo和baz:自訂標籤名稱。bar和quux:您自己的標籤值。
依標籤列出服務
您可以使用 Google Cloud CLI 篩選器,依標籤列出服務:
gcloud run services list --filter metadata.labels.LABEL=VALUE
更改下列內容:
LABEL:標籤名稱VALUE:要納入篩選清單的值
刪除服務的標籤
您可以使用控制台或指令列刪除服務的標籤。
控制台
在 Google Cloud 控制台中,前往 Cloud Run 的「Services」(服務) 頁面:
找出要刪除標籤的服務,然後勾選左側的核取方塊。
按一下「標籤」,顯示標籤窗格。
將游標移到「Value」(值) 欄位右側,即可顯示垃圾桶圖示。按一下「刪除項目」。
按一下「儲存」。
gcloud
如要清除服務的所有標籤,請按照下列步驟操作:
gcloud run services update SERVICE --clear-labels
如要從服務中刪除特定標籤,請提供以半形逗號分隔的鍵清單:
gcloud run services update SERVICE --remove-labels LABEL
更改下列內容:
SERVICE:Cloud Run 服務名稱LABEL:標籤名稱