温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

什么是label

发布时间:2021-10-09 15:56:39 来源:亿速云 阅读:338 作者:iii 栏目:编程语言

这篇文章主要讲解了“什么是label”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“什么是label”吧!

一、介绍

Label其实就一对 key/value ,被关联到对象上, label可以附加到各种资源对象上,如Node,Pod,Service,RC等。

一个资源拥有多个标签,可以实现不同维度的管理。

Label可以在创建对象时就附加到对象上,也可以在对象创建后通过API进行额外添加或修改。

二、 使用Label原因

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

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

三、创建对象时附加label到对象上

apiVersion: v1
kind: Namespace
metadata:
  name: hubble-manager

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: hubble-biz-cm-pod # pod 名称, 一个运营商一套
  namespace: hubble-manager # namespace 名称
spec:
  replicas: 2 # 指定要部署的个数
  selector:
    matchLabels:
      app: hubble-biz-cm #rc管理pod的时候选择包含app=hubble-biz-cm的标签进行管理
  template: # Pod的部署模板
    metadata:
      labels:
        app: hubble-biz-cm # 为pod创建两个标签,分别是app,proj
        proj: hubble-manager
    spec:
      containers:
        - # 采集器组件
          image: hubble-biz-cm:2.2.8-008
          imagePullPolicy: Always
          name: hubble-biz-cm #给容器起名字,和标签不是一个概念,名字相同只是为了便于识别应用
---
apiVersion: v1
kind: Service
metadata:
  name: m-biz-cm
  namespace: hubble-manager
  annotations:
    service.loadbalancer-address-type: "private" # 内外网:public/private
    service.loadbalancer-provider: "" # 运营商信, 若为内网private则忽略
    service.loadbalancer-project: "hubble" # 服务所属的项目信息
spec:
  type: LoadBalancer # 必须指定为LoadBalancer
  ports:
    - name: m-biz-cm
      port: 9666 #对外暴露的端口
      protocol: TCP # 通信协议: 可选TCP,UDP
      targetPort: 9666 # 转发到的后端Pod的端口
  selector:
    app: hubble-biz-cm # 指定转发的Pod, 此处选择标签为以上定义的spec.template.metadata.labels中定义的app=hubble-biz-cm的Pod将作为QLB的后端服务器

四、标签相关命令使用

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

        kubectl label pods tomcat  app=tomcat

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

        kubectl label --overwrite pods tomcat app=tomcat1

3、把 namespace 中的所有 pod 添加 label

        kubectl label pods --all test=test

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

        kubectl label pods tomcat app-

感谢各位的阅读,以上就是“什么是label”的内容了,经过本文的学习后,相信大家对什么是label这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI