博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
kubernetes资源对象--Label
阅读量:6954 次
发布时间:2019-06-27

本文共 1578 字,大约阅读时间需要 5 分钟。

概念

Label机制是K8S中一个重要设计,通过Label进行对象弱关联,灵活地分类和选择不同服务或业务,让用户根据自己特定的组织结构以松耦合方式进行服务部署。

Label是一对KV,对用户而言非常有意义的,但对K8S本身而言没有直接意义的。Label可以在创建 对象时指定,也可以在后期修改,每个对象可以拥有多个标签,但key值必须是唯一的。

Label可随意定义,但建议可读性,比如设置Pod的应用名称和版本号等。另外Lable是不具有唯一性的,为了更准确标识资源对象,应为资源对象设置多维度的label。如下:

"release" : "stable", "release" : "canary""environment" : "dev", "environment" : "qa", "environment" : "production""tier" : "frontend", "tier" : "backend", "tier" : "cache""partition" : "customerA", "partition" : "customerB""track" : "daily", "track" : "weekly"

语法和字符集

Label keys的语法

一个可选前缀+名称,通过/来区分

名称部分是必须的,并且最多63个字符,开始和结束的字符必须是字母或者数字,中间是字母数字和_、-、.。

前缀可选,如指定必须是个DNS子域,一系列的DNS label通过.来划分,长度不超过253个字符,“/”来结尾。如前缀被省略了,这个Label的key被假定为对用户私有的。系统组成部分(比如scheduler,controller-manager,apiserver,kubectl),必须要指定一个前缀,Kuberentes.io前缀是为K8S内核部分保留的。

label value语法

长度不超过63个字符。

可以为空

首位字符必须为字母数字字符

中间必须是横线、_、.、数字、字母。

Label选择器

label选择器(selector)是K8S中核心的组织原语,通过label选择器,客户端能方便辨识和选择一组资源对象。API目前支持两种选择器:基于相等的和基于集合的。

使用基于相等的选择器时,选择器的所有键值和其他资源对象的label键值完全相同(包括数量,key和value),才能匹配。

而使用基于集合的label选择器,只要选择器部分键值匹配其他资源对象的label,就算匹配。选择器可以由一个以上条件(KV键值)组成,在多个条件的情况下,所有条件都必须满足。

更新资源类型的Label

Label作为用户可灵活定义的对象属性,在已创建的对象上,仍然可以随时通过kubectl label命令对其进行增加、修改、删除等操作。 例如,我们要给已创建的Pod“redis-master-bobr0”添加一个标签role=backend:

kubectl label pod redis-master-bobr0 role=backendkubectl get pods -L role NAME READY STATUS RESTARTS AGE ROLE redis-master-bobr0 1/1 Running 0 3m backend

删除一个Label,只需在命令行最后指定Label的key名并与一个减号相连即可:

kubectl label pod redis-master-bobr0 role-

修改一个Label的值,需要加上--overwrite参数: kubectl label pod redis-master-bobr0 role=master –overwrite

本文转自开源中国-

转载地址:http://jbtil.baihongyu.com/

你可能感兴趣的文章
图像滤镜实现万能方法研究
查看>>
nginx-启动gzip、虚拟主机、请求转发、负载均衡
查看>>
magento 2.3安装测试数据
查看>>
大数据开发实战:数据平台大图和离线数据平台整体架构
查看>>
Git 收集别名
查看>>
操作系统日志分析中常见的搜索条目 20160715
查看>>
《CLR via C#》笔记——异常和状态管理
查看>>
将matlab的figure保存为pdf,避免图片太大缺失
查看>>
Spring MVC 3 深入总结
查看>>
原创4:dell sc1425老服务器安装vmware虚拟机esxi 5.0-更新Dell SCSI Hard Drive Firmware
查看>>
JAVA多线程学习Runnable接口
查看>>
AE Geoprocessor 实现 AnalysisTool Union功能
查看>>
深入理解JVM
查看>>
微观ORACLE(一):PMON Release Lock
查看>>
NC57银行档案和客商银行账号为建行04 UPDATE
查看>>
(转)Objective-C的单例模式(singleton)
查看>>
细说 ASP.NET控制HTTP缓存(转)
查看>>
使用Vitamio打造自己的Android万能播放器(3)——本地播放(主界面、播放列表)...
查看>>
在网页div,table,p,span,body,等很多元素中输入内容.
查看>>
采用oracle存储过程读取excel文件更新表
查看>>