k8s label


 

kubectl label :添加label值
kubectl get node --show-labels #查看節點label
kubectl label nodes node1 zone=north #nodes添加標簽
kubectl label pod redis-master-xxx role=master #增加label值 [key]=[value]
kubectl label pod redis-master-xxx role- #刪除label值
kubectl label pod redis-master-xxx role=backend --overwrite #修改label值
————————————————
版權聲明:本文為CSDN博主「tianyouyexin」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/tianyouyexin/java/article/details/90231159

 

k8s-Label(標簽)

k8s-Label(標簽)

一、Label是什么?

Label是Kubernetes系統中的一個核心概念。
Label以key/value鍵值對的形式附加到各種對象上,如Pod、Service、RC、Node等。
Label定義了這些對象的可識別屬性,用來對它們進行管理和選擇。Label可以在創建時附加到對象上,也可以在對象創建后通過API進行管理。

二、Label Selector

在為對象定義好Label后,其他對象就可以使用Label Selector(選擇器)來定義其作用的對象了。

Label Selector的定義由多個逗號分隔的條件組成。

"labels": {
"key1": "value1",
"key2": "value2"
}

當前有兩種Label Selector:

基於等式的(Equality-based)和基於集合的(Set-based),在使用時可以將多個Label進行組合來選擇。


1、基於等式的Label Selector使用等式類的表達式來進行選擇:

name = redis-slave: 選擇所有包含Label中key="name"且value="redis-slave"的對象;
env != production: 選擇所有包括Label中的key="env"且value不等於"production"的對象。


2、基於集合的Label Selector使用集合操作的表達式來進行選擇:

name in (redis-master, redis-slave): 選擇所有包含Label中的key="name"且value="redis-master"或"redis-slave"的對象;
name not in (php-frontend): 選擇所有包含Label中的key="name"且value不等於"php-frontend"的對象。

ps:在某些對象需要對另一些對象進行選擇時,可以將多個Label Selector進行組合,使用逗號","進行分隔即可。
基於等式的LabelSelector和基於集合的Label Selector可以任意組合。
例如:

name=redis-slave,env!=production
name not in (php-frontend),env!=production


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM