|NO.Z.00150|——————————|CloudNative|——|KuberNetes&服务发布.V01|——|label&selector.v01|概述|
一、Label和Selector:
### --- k8s的;label和selector概述
~~~ Label:对k8s中各种资源进行分类、分组,添加一个具有#特别属性的一个标签。
~~~ Selector:通过#一个过滤的语法进行查找到对应标签的资源
二、label和selector架构说明

三、label和select概述说明
### --- label和select概述说明
~~~ # 使用应用程序的时候需求案例:在发版应用的时候:
~~~ 比如我们有一个Backend容器,还有一个Frontend容器,
~~~ Backend去连接到Frontend是通过Service去连接到后端。
~~~ # 应该是Frontend到service,然后service到Backend
~~~ 我们怎么知道这个service管理的后端Pod是那些呢?就是通过Label和Selector来区分的。
~~~ 我们可以在这个Service上配置一个Selector,app=nginx,这个Pod就有一个标签是app=nginx,
~~~ 这样这个service就可以通过这个标签连接到对应的Pod,然后这个Frontend通过这个Service到后端。
~~~ # 假设情况二:这个后端有一个相同的应用,比如叫Backend Cronjob:
~~~ 这个Cronjob去跑一些程序的应用,但是我们并不希望它去接收流量,
~~~ 这样这个service不能把这个流量打到这个Backend上面,
~~~ 这时候在这个service中加一个Label,加一个过滤,就可以把cronjob接收流量操作给过滤掉。
~~~ # 但是只写了一个App=nginx:但是它对应的Pod有2个,
~~~ 因为它两个应用个对应的标签都是App=nginx。
~~~ # 所以说需要把Backend Pod要打一个特殊属性的标签,
~~~ 比如:Role:backend-app:可以认定它为后端服务器,用来接收流量的,
~~~ Backend Cronjob添加标签:Role:backend-cj:这样在service中再加一个role=backend-app,
~~~ 这样就可以通过两个标签把这个service定位到Backend Pod上,而不是定位在其他Pod上。
~~~ 当然这个Label可以应用到k8s中的任何资源中的。
四、Label和 Selector
### --- Label和 Selector
~~~ 当Kubernetes对系统的任何API对象如Pod和节点进行“分组”时,
~~~ 会对其添加Label(key=value形式的“键-值对”)用以精准地选择对应的API对象。
~~~ 而Selector(标签选择器)则是针对匹配对象的查询方法。注:键-值对就是key-value pair。
~~~ 例如,常用的标签tier可用于区分容器的属性,如frontend、backend;
~~~ 或者一个release_track用于区分容器的环境,如canary、production等。
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 【全网最全教程】使用最强DeepSeekR1+联网的火山引擎,没有生成长度限制,DeepSeek本体