1. 程式人生 > 實用技巧 >Kubernetes & Label

Kubernetes & Label

Kubernetes & Label

Label(標籤)Kubernetes系統中另外一個核心概念。一個Label是一個key=value的鍵值對,其中key與value由使用者自己指定。Label可以被附加到各種資源物件上,例如Node、Pod、Service、RC等,一個資源物件可以定義任意數量的Label,同一個Label也可以被新增到任意數量的資源物件上。Label通常在資源物件定義時確定,也可以在物件建立後動態新增或者刪除。

我們可以通過給指定的資源物件捆綁一個或多個不同的Label來實現多維度的資源分組管理功能,以便靈活、方便地進行資源分配、排程、配置、部署等管理工作。例如,部署不同版本的應用到不同的環境中;監控和分析應用(日誌記錄、監控、告警)等。一些常用的Label示例如下。

  • 版本標籤:"release":"stable"、"release":"canary"。

  • 環境標籤: “environment":"dev"、"environment":"qa"、"en”

  • 架構標籤 : tier":"frontend"、"tier":"backend"、"tier":"mid”

  • 分割槽標籤 :"partition":"customerA"、"partition":"customerB"。

  • 質量管控標籤 :"track":"daily"、"track":"weekly"。

Label相當於我們熟悉的“標籤”。給某個資源物件定義一個Label,就相當於給它打了一個標籤,隨後可以通過Label Selector(標籤選擇器)查詢和篩選擁有某些Label的資源物件,Kubernetes通過這種方式實現了類似SQL的簡單又通用的物件查詢機制。