建立及管理標籤

本頁面概述 GKE 中的叢集標籤

什麼是叢集標籤?

標籤是一種鍵/值組合,可協助您組織 Google Cloud Platform 叢集。您可以為每一個資源加上標籤,並根據標籤來篩選資源。系統會將標籤的相關資訊轉送至帳單系統,方便您按標籤查看帳單費用明細

叢集標籤的常見用途

以下是叢集標籤的一些常見用途:

  • 團隊或成本中心叢集標籤:根據團隊或成本中心加上標籤,以區別不同團隊 (例如 team:researchteam:analytics)。這類的標籤可用於成本會計或預算編列作業。

  • 元件叢集標籤:例如 component:rediscomponent:frontendcomponent:ingestcomponent:dashboard

  • 環境或暫存叢集標籤:例如 environment:productionenvironment:test

  • 狀態叢集標籤:例如 state:activestate:readytodeletestate:archive

叢集標籤規定

套用到資源的叢集標籤必須符合下列規定:

  • 每個資源可以有多個叢集標籤,上限為 64 個。
  • 每個叢集標籤都必須是鍵/值組合。
  • 鍵的長度下限為 1 個字元,上限為 63 個字元,不能空白。值可以空白,長度上限為 63 個字元。
  • 鍵和值只能使用小寫字母、數字字元、底線和連字號。所有字元都必須使用 UTF-8 編碼,可使用國際字元。
  • 叢集標籤中,鍵的部分不得重複。不過,您可以在多個資源使用相同的鍵。
  • 鍵的開頭必須是小寫字母或國際字元。

事前準備

如要準備這項工作,請執行下列步驟:

  • 確認您已啟用 Google Kubernetes Engine API。
  • 啟用 Google Kubernetes Engine API
  • 確認您已安裝 Cloud SDK
  • 設定預設的專案 ID
    gcloud config set project [PROJECT_ID]
  • 如果您使用區域叢集,請設定預設的運算區域
    gcloud config set compute/zone [COMPUTE_ZONE]
  • 如果您使用地區叢集,請設定預設的運算地區
    gcloud config set compute/region [COMPUTE_REGION]
  • gcloud 更新到最新版本:
    gcloud components update

關於為叢集加上標籤

在 GKE 中,您是在叢集層級套用標籤。為叢集加上標籤時,您選擇的標籤會傳播至叢集的所有個別資源 (例如節點和永久磁碟)。

您可以使用 Google Cloud Platform 主控台、gcloud 指令列工具或 GKE API,新增、更新和移除叢集標籤。

為 API 要求取得標籤指紋

使用 GKE API 更新或新增叢集標籤時,您需要在要求中提供最新叢集標籤指紋,避免與其他要求發生衝突。

如要取得最新叢集標籤指紋,請為適當叢集執行 GET 要求。例如:

GET https://container.googleapis.com/v1/projects/myproject/zones/us-central1-f/clusters/example-cluster

在回應中找出 labelFingerprint 屬性:

200 OK

{

 "name": "mycluster",
 "description": "test-cluster",
 "initialNodeCount": 3,
 ...
 "resourceLabels": {
    "env": "test",
    ...
  },
  "labelFingerprint": "p1ty_9HoBk0="
}

建立具有標籤的叢集

gcloud

如要使用 gcloud 工具在建立叢集時新增標籤,請執行下列指令:

gcloud container clusters create [CLUSTER_NAME] --labels [KEY]=[VALUE]

例如:

gcloud container clusters create example-cluster --labels env=dev

主控台

如要使用 GCP 主控台在建立叢集時新增標籤,請執行下列步驟:

  1. 造訪 GCP 主控台的 Google Kubernetes Engine 選單。

    造訪 Google Kubernetes Engine 選單

  2. 按一下 [Create cluster] (建立叢集)

  3. 視需要設定您的叢集。然後,按一下 [Advanced options] (進階選項)

  4. 按一下 [Add label] (新增標籤)

  5. 視需要新增標籤。

  6. 按一下 [Create] (建立)

API

如要在建立叢集時加入標籤,請在提供給 projects.zones.clusters.createcluster 物件內指定 resourceLabels 物件。

為現有叢集新增或更新標籤

gcloud

如要使用 gcloud 工具更新標籤,請執行下列指令:

gcloud container clusters update [CLUSTER_NAME] --update-labels [KEY]=[VALUE]

例如:

gcloud container clusters update example-cluster --update-labels env=dev,release=stable

如果您想保留叢集中的一些現有標籤,則必須將這些標籤與要新增的新標籤一起納入。

主控台

如要使用 GCP 主控台新增或更新標籤,請執行下列步驟:

  1. 造訪 GCP 主控台的 Google Kubernetes Engine 選單。

    造訪 Google Kubernetes Engine 選單

  2. 如要將標籤新增至單一叢集,請按一下鉛筆形狀的 [Edit] (編輯) 按鈕。

    1. 按一下 [Add labels] (新增標籤),新增一或多個標籤。
    2. 按一下 [Save] (儲存)
  3. 將多個標籤一次新增至多個叢集:

    1. 找出您要加上標籤的叢集,選取其核取方塊。
    2. 如未顯示標籤欄,請按一下 [Show info panel] (顯示資訊面板) 來展開標籤欄。
    3. 視需求更新或新增標籤。
    4. 按一下 [Save] (儲存)

API

若要更新標籤,請以最新的指紋以及要套用的完整標籤清單,對叢集的 resourceLabels 方法提出 POST 要求。

與中繼資料和標記類似,如果您想保留叢集中的一些現有標籤,則必須將這些標籤與要新增的新標籤一起納入要求中。

舉例來說,下列程式碼片段會向 resourceLabels 方法提出要求。

POST https://container.googleapis.com/v1/projects/myproject/zones/us-central1-f/clusters/example-cluster/resourceLabels

{
 "resourceLabels": {
  "env": "test",
  "an-existing-tag": ""
 },
 "labelFingerprint": "42WmSpB8rSM="
}

移除叢集標籤

gcloud

使用 gcloud 指令列工具,執行 update 指令搭配 --remove-labels 標記,並提供要移除的標籤鍵。例如:

gcloud container clusters update example-cluster --remove-labels env

主控台

如要使用 GCP 主控台移除標籤,請執行下列步驟:

  1. 造訪 GCP 主控台的 Google Kubernetes Engine 選單。

    造訪 Google Kubernetes Engine 選單

  2. 如要從單一叢集移除標籤,請按一下 [Edit] (編輯) 按鈕 (看起來像枝鉛筆)。

    1. 按一下標籤旁的 [X] 即可移除標籤。
    2. 按一下 [Save] (儲存)
  3. 一次從多個叢集移除多個標籤:

    1. 找出您要移除標籤的叢集,然後選取旁邊的核取方塊。
    2. 如未顯示標籤欄,請按一下 [Show info panel] (顯示資訊面板) 來展開標籤欄。
    3. 在要移除的標籤旁按一下 [X]
    4. 按一下 [Save] (儲存)

API

在 API 中,對適當叢集的 resourceLabels 方法提出 POST 要求。如要移除所有標籤,請提供目前的 labelsFingerprint 和空白標籤清單。如果只要移除部分標籤,則請提供要保留的標籤清單 (省略要移除的標籤)。例如:

Request

POST https://container.googleapis.com/v1/projects/myproject/zones/us-central1-f/clusters/example-cluster/resourceLabels

{
 "resourceLabels": { },
 "labelFingerprint": "42WmSpB8rSM="
}

後續步驟

閱讀 GKE 總覽

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Kubernetes Engine 說明文件