Kubernetes 标签

Kubernetes 标签

什么是 Kubernetes 标签

标签(Labels)是附加到 Kubernetes 对象(比如 Pods)上的键值对。

标签示例如下:

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

标签作用

  • 标签旨在用于指定对用户有意义且相关的对象的标识属性,但不直接对核心系统有语义含义。
  • 标签可以用于组织和选择对象的子集。

标签特点

  • 每个对象都可以定义一组键/值标签。
  • 每个键对于给定对象必须是唯一的。
  • 标签能够支持高效的查询和监听操作,对于用户界面和命令行是很理想的。

设计标签的目的

标签使用户能够以松散耦合的方式将他们自己的组织结构映射到系统对象,而无需客户端存储这些映射。

服务部署和批处理流水线通常是多维实体(例如,多个分区或部署、多个发行序列、多个层,每层多个微服务)。管理通常需要交叉操作,这打破了严格的层次表示的封装,特别是由基础设施而不是用户确定的严格的层次结构。

示例标签:

  • 发行版本 "release" : "stable", "release" : "canary"
  • 运行环境 "environment" : "dev", "environment" : "qa", "environment" : "production"

标签语法

有效的标签键有两个段:可选的前缀和名称,用斜杠(/)分隔。

名称段是必需的,必须小于等于 63 个字符,以字母数字字符([a-z0-9A-Z])开头和结尾,带有破折号(-),下划线(_),点( .)和之间的字母数字。

前缀是可选的。如果指定,前缀必须是 DNS 子域:由点(.)分隔的一系列 DNS 标签,总共不超过 253 个字符,后跟斜杠(/)。

如果省略前缀,则假定标签键对用户是私有的。向最终用户对象添加标签的自动系统组件(例如 kube-scheduler、kube-controller-manager、 kube-apiserver、kubectl 或其他第三方自动化工具)必须指定前缀。

kubernetes.io/ 和 k8s.io/ 前缀是为 Kubernetes 核心组件保留的。

有效标签值:

  • 必须为 63 个字符或更少(可以为空)
  • 除非标签值为空,必须以字母数字字符([a-z0-9A-Z])开头和结尾
  • 包含破折号(-)、下划线(_)、点(.)和字母或数字

以下是一个有 environment: production 和 app: nginx 标签的 Pod 配置文件:

apiVersion: v1
kind: Pod
metadata:
  name: label-demo
  labels:
    environment: production
    app: nginx
spec:
  containers:
  - name: nginx
    image: nginx:1.14.2
    ports:
    - containerPort: 80

标签选择运算符

与名称和 UID 不同,标签不支持唯一性。通常,我们希望许多对象携带相同的标签。

通过标签选择算符,客户端/用户可以识别一组对象。标签选择算符是 Kubernetes 中的核心分组原语。

在多个需求的情况下,必须满足所有要求,因此逗号分隔符充当逻辑与(&&)运算符。

基于等值的需求

基于等值或基于不等值的需求允许按标签键和值进行过滤。匹配对象必须满足所有指定的标签约束,尽管它们也可能具有其他标签。可接受的运算符有 =、== 和 != 三种。前两个表示相等(并且是同义词),而后者表示不相等。

例如:

environment = production
tier != frontend

基于集合的需求

基于集合的标签需求允许你通过一组值来过滤键。 持三种操作符:in、notin 和 exists(只可以用在键标识符上)。

例如:

environment in (production, qa)
tier notin (frontend, backend)
partition
!partition

API

两种标签选择算符都可以通过 REST 客户端用于 list 或者 watch 资源。

基于等值的需求

例如,使用 kubectl 定位 apiserver,可以使用基于等值的标签选择算符可以这么写:

kubectl get pods -l environment=production,tier=frontend

基于集合的需求

或者使用基于集合的需求:

kubectl get pods -l 'environment in (production),tier in (frontend)'

参考资料

思维导图

图片说明

视频学习

B站学习

从零开始学习k8s:k8s标签

图片说明

抖音学习

图片说明

#学习##容器##云原生#
全部评论
点赞 回复 分享
发布于 2022-08-28 01:09 四川

相关推荐

个人背景:学院二本计科专业 大二开始实习个人经历:安克创新 、理想汽车、字节跳动碎碎念:我做事只有三分钟热度。看到进了大厂的同学,我会羡慕,也会跟着努力上进;但遇到好看的小说,我又会放下手头的事沉迷其中,之前的坚持也就中断了。我有些自卑,总觉得自己学历和外貌都不够好。之前偶然在网上受到关注,我就喜欢上了上网,因为这里有很多人认可我。但我也很在意别人的评价,偶尔看到嘲讽的言论,会触发我的自卑情绪,让我感到愤怒。有时候我会强硬地回怼,有时候又会懦弱地选择无视。我也有虚荣心。不管是拿到安克、理想还是字节的机会,我在分享的时候都会带着这份心思。我会特意强调自己学历不好,是为了衬托出过程的艰难,以此显得自己更厉害。我知道,人往往会炫耀自己缺少的东西,来掩盖内心的空洞。我总想着走捷径,不太喜欢踏踏实实地做事。找实习的时候,我花了更多时间在研究面试技巧上,而不是提升专业能力。我会反复听面试录音分析技巧,看面试教程学习怎么和不同的面试官沟通,还会每天自言自语练习语言表达,同学都觉得我有点奇怪。我的实习生涯里,侥幸和运气占了很大一部分。我总在想,如果有一天我失去了这份幸运,这些特质可能会让我一蹶不振。ps: 很多人会问我学习路线和经验 但是就像我上面说的 我的实习过程靠的很多是关键节点的运气 技术上面我可能不如很多人  所以请大家理性求助和理性参考我的回答 附上我的投递记录
我的offer在哪里...:从去年看到现在,飞升哥就是榜样
我的求职进度条
点赞 评论 收藏
分享
05-12 10:10
已编辑
门头沟学院 人工智能
写这篇之前我犹豫了挺久。一方面是怕被人骂,"又一个收割焦虑的转行帖";另一方面是看了太多用 GPT 套娃出来的「学习路线」文章,AI 味重得让人没法读完。所以这篇全是亲身踩过的坑,时间线、用过的项目、当时的心路全都尽量原样写出来。如果你是大学生在迷茫要不要转 AI,或者已经在转的路上,希望能给点参考。 一个反共识的开场:你以为进 OpenAI 的人都是博士? 先讲个故事,跟我没关系,但跟所有想转 AI 的人都有关系。 OpenAI 的 Sora 团队(就是搞文生视频那个)一共 13 个人。这里面有两个人特别有意思: Will DePue,密歇根大学计算机系,直接辍学了。17...
_hengheng:我也本,也算是做ai相关,我最开始感觉做ai工程师有多么多么困难,后来发现懂了原理后整体训练完全可以看成一个流程化的内容,开源方案太多了,大多基本都是按着模子在自家业务上做各种操作,就算是大厂的小部门也没那么多资源去训基模,反而更多的是像怎么把技术往业务方向靠近了,不过当前时代如果本科学历没那么好加上自己执行力不是特别强还真不建议走ai工程师这条路,可以试试其他ai的偏业务方向,不然校招不太好杀出来
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务