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

posted on 2020-04-15 17:26  王大拿  阅读(1703)  评论(0编辑  收藏  举报

导航