发布时间:2025-12-11 02:25:07 浏览次数:2
Label其实就一对 key/value ,被关联到对象上, label可以附加到各种资源对象上,如Node,Pod,Service,RC等。
一个资源拥有多个标签,可以实现不同维度的管理。
Label可以在创建对象时就附加到对象上,也可以在对象创建后通过API进行额外添加或修改。
2.1 当相同类型的资源越来越多,对资源划分管理是很有必要,此时就可以使用Label为资源对象 命名,以便于配置,部署等管理工作,提升资源的管理效率。label 作用类似Java包能对不同文件分开管理,让整体更加有条理,有利于维护。
2.2 通过Label来对对象进行引用。
apiVersion:v1kind:Namespacemetadata:name:hubble-manager---apiVersion:apps/v1kind:Deploymentmetadata: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,projproj:hubble-managerspec:containers:-#采集器组件image:hubble-biz-cm:2.2.8-008imagePullPolicy:Alwaysname:hubble-biz-cm#给容器起名字,和标签不是一个概念,名字相同只是为了便于识别应用---apiVersion:v1kind:Servicemetadata:name:m-biz-cmnamespace:hubble-managerannotations:service.loadbalancer-address-type:"private"#内外网:public/privateservice.loadbalancer-provider:""#运营商信,若为内网private则忽略service.loadbalancer-project:"hubble"#服务所属的项目信息spec:type:LoadBalancer#必须指定为LoadBalancerports:-name:m-biz-cmport:9666#对外暴露的端口protocol:TCP#通信协议:可选TCP,UDPtargetPort: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这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是本站,小编将为大家推送更多相关知识点的文章,欢迎关注!