Kubernetes基本概念和术语 • Label

概念介绍

Label(标签)是 Kubernates 系统的另外一个核心概念。

  • 一个Label 是一个 key=value的键值对。
  • Label可以被附加到各种资源对象上,例如Node、Pod、Service、RC等
  • 一个资源对象可以定义任意数量的Label,一个Label也可以被添加到任意数量的资源上。
  • Label 通常在资源对象定义时确定,也可以在对象创建后动态的添加或者删除。
主要用途

Label相当于我们熟悉的“标签”,给一个资源对象定义一个Label,就相当于给他打了一个标签,随后可以通过 Label Selector(标签选择器)查询和筛选拥有某些Label的资源对象,Kubernates通过这种方式,实现了类似SQL的简单又通用的对象查询机制。

常见标签
  • 版本标签: “release” : “stable”、“release”: “canary”
  • 环境标签: “environment”: “dev”、“environment”: “qa”、“environment”: “production”
  • 架构标签:“tier”: “frontend”、“tier”: “backed”、“tier”: “middleware”
  • 分区标签:“partition”: “customerA”、“partition”: “customerB”
  • 质量管控标签:“track”: “daily”、“track”: “weekly”
Label Selector (标签选择器)

上面说到 label 是一个 key=value格式的键值对,key相当于 Table Column, value 相当于 Table Column Data。
Label Selector 语法如下:

  • 基于等式的(Equality-based)等式类表达式
表达式作用示例说明
=等于 name = redis-slave查询所有标签 name=redis-slave的资源对象
!=不等于env != production查询所有不具有标签 env=production的资源对象
  • 基于集合的(Set-based) 集合操作类表达式
表达式作用示例说明
in包含 name in (redis-master, redis-slave) 查询所有具有标签 name=redis-master 或 name=redis-slave 的资源对象
not in不包含name not in (php-frontend)查询所有不具有标签 name=php-frontend的资源对象
  • 通过多个Label Selector 表达式组合实现复杂的条件选择
    多个表达式间使用 “,” 分割,几个条件之前是 “AND” 关系,即同时满足多个条件
name=redis-slave,env!=production
name notin (php-frontend),env!=production
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值