美文网首页
K8S——Label详解

K8S——Label详解

作者: IT小分享 | 来源:发表于2021-02-16 11:08 被阅读0次

1 Label含义

1.1 Label其实就一对 key/value ,被关联到对象上,比如Pod,标签的使用我们倾向于能够标示对象的特殊特点,Labels的值对系统本身并没有什么含义,只是对用户才有意义。同一个资源对象的labels属性的key必须唯一,label可以附加到各种资源对象上,如Node,Pod,Service,RC等。一个资源拥有多个标签,可以实现不同维度的管理。标签(Label)的组成: key=value。Label可以在创建对象时就附加到对象上,也可以在对象创建后通过API进行额外添加或修改。

1.2 Label命名规范

label 必须以字母或数字开头,可以使用字母、数字、连字符、点和下划线,最长63个字符。

2 使用Label原因

2.1 当相同类型的资源越来越多,对资源划分管理是很有必要,此时就可以使用Label为资源对象 命名,以便于配置,部署等管理工作,提升资源的管理效率。label 作用类似Java包能对不同文件分开管理,让整体更加有条理,有利于维护。

2.2 通过Label来对对象进行引用。

3Label创建脚本

3.1 命令创建

      label [--overwrite] (-f FILENAME | TYPE NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--resource-version=version]

3.1.1 kubectl get pods 命令默认不会列出任何标签,使用 --show-labels 选项来查看 :

  kubectl get po --show-labels 

3.1.2 指定标签查看

  kubectl get po -L creation_method,env

查看匹配标签条件的node

kubectl get nodes -l 标签key=标签values

kubectl get nodes -l  app=tomcat

查看匹配 标签key的pod

    kubectl get po -L  app

3.1.3 给名为tomcat 的Pod添加label app=tomcat。

  kubectl label pods tomcat  app=tomcat

3.1.4 把名为tomcat 的Pod修改label 为 app=tomcat1,且覆盖现有的value

kubectl label --overwrite pods tomcat app=tomcat1

3.1.5 把 namespace 中的所有 pod 添加 label

kubectl label pods --all test=test

3.1.6 删除名为“app”的label 。(使用“ - ”减号相连)

kubectl label pods tomcat app-

3.2 yaml脚本创建

vim label-pod-test.yaml

apiVersion: v1

kind: Pod

metadata:

  name: tomcat

  labels:

    app: tomcat

    release: stable

spec:

  containers:

  - name: tomcat

    image: tomcat

    ports:

    - containerPort: 80

为tomcat的Pod添加了两个Label,分别为app: tomcat和release: tomcat

4Label使用场景

常用的,多维度标签分类:

版本标签(release): stable(稳定版),canary(金丝雀版本),beta(测试版)

环境类(environment): dev(开发),qa(测试),production(生产),op(运维)

应用类(applaction): ui(设计),as(应用软件),pc(电脑端),sc(网络方面)

架构层(tier): frontend(前端),backend(后端),cache(缓存)

分区标签(partition): customerA(客户),customerB

品控级别(track): daily(每天),weekly(每周)

vim label-pod-test.yaml

apiVersion: v1

kind: Pod

metadata:

  name: label-pod-test

  labels:      #使用labels字段来定义标签,可以一次定义多个标签,这里定义3个标签

    release: stable  #版本:稳定版

    env: qa              #环境:测试

    tier: frontend  #架构类:前端

spec:

  containers:

  - name: testTomcatLabel

    image: tomcat    #部署的是tomcat服务

最后祝各位小伙伴新年快乐,万事如意!!有好的建议和意见,欢迎下方留言。力求每次分享能为大家带来更多的收获。

相关文章

  • K8S——Label详解

    1 Label含义 1.1 Label其实就一对 key/value ,被关联到对象上,比如Pod,标签的使用我们...

  • k8s快速入门-概念

    k8s快速入门 k8s的四组基本概念 Pod/Pod控制器 Name/Namespace Lable/Label选...

  • 2019-08-26 Label 换行

    NSLineBreakMode 详解: Label中文与数字或符号混合导致换行

  • 七 Kubernetes服务发布入门

    (一) Label& Selector Label:对k8s中各种资源进行分类、分组,添加一个具有特别属性的标签S...

  • Label详解

    Label是oc的最常用的控件 Label主要用于显示文本信息,下面是常用的属性

  • Namespace

    在k8s里面,有一些group & manage resources的方式,比如Label,Namespace。 ...

  • Label

    在k8s里面,有一些group & manage resources的方式,比如Label,Namespace。 ...

  • 阅读K8S文档

    k8s文档链接 康威定律 在看Label这一段的时候,提到了设计Label的动机,出现了康威定律。Flag 康威定...

  • K8S之存储卷PV以及持久化卷声明PVC

    K8s网络存储,NFS,PV,PVC,StorageClass等详解 https://blog.csdn.net/...

  • 记录-查找

    ios基础UI 1.1, iOS Label详解学习_OC http://www.jianshu.com/p/b2...

网友评论

      本文标题:K8S——Label详解

      本文链接:https://www.haomeiwen.com/subject/kcsvxltx.html