Kubernetes学习之路(十三)label标签资源

_____egon新书来袭请看:https://egonlin.com/book.html

一 介绍

Label是kubernetes系统中的一个重要概念。它的作用就是在资源上添加标识,用来对它们进行区分和选择。

Label的特点:

一个Label会以key/value键值对的形式附加到各种对象上,如Node、Pod、Service等等
一个资源对象可以定义任意数量的Label,同一个Label也可以被添加到任意数量的资源对象上去.
Label通常在资源对象定义时确定,当然也可以在对象创建后勃态添加或者删除
可以通过Label实现资源的多维度分组,以便灵活、方便地进行资源分配、调度、配置、部署等管理工作。

k8s做标签是用来管理(识别一系列)容器的,方便与管理和监控拥有同一标签的所有容器

二 常见标签

版本标签:"release":"stable","release":"canary"
环境标签:"environment":"dev","environment":"production"
架构标签:"tier":"frontend","tier":"backend","tier":"middleware"
分区标签:"partition":"customerA","partition":"customerB"
质量管控标签:"track":"daily","track":"weekly"

三 使用

[root@master01 ~]# cat xxx.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: test-tag
  labels:
    release: stable
spec:
  containers:
    - name: nginx
      image: nginx
[root@master01 ~]# kubectl create -f xxx.yaml 
pod/test-tag created

四 查看label

[root@master01 ~]# kubectl get pod --show-labels
NAME       READY   STATUS    RESTARTS   AGE   LABELS
test-tag   1/1     Running   0          42s   release=stable

五 添加标签

[root@master01 ~]# kubectl label pod  test-tag app=egontag
pod/test-tag labeled
[root@master01 ~]# kubectl get pod --show-labels
NAME       READY   STATUS    RESTARTS   AGE    LABELS
test-tag   1/1     Running   0          105s   app=egontag,release=stable

六 删除标签

[root@master01 ~]# kubectl label pod  test-tag app-
pod/test-tag labeled
[root@master01 ~]# kubectl get pod --show-labels
NAME       READY   STATUS    RESTARTS   AGE     LABELS
test-tag   1/1     Running   0          4m18s   release=stable

 

posted @ 2021-08-31 15:40  linhaifeng  阅读(289)  评论(0编辑  收藏  举报