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