kubernetes资源对象--Label
来源:互联网 发布:navicat 链接数据库 编辑:程序博客网 时间:2024/06/04 18:09
本文基于kubernetes 1.5.2版本编写
概念
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
- kubernetes资源对象--Label
- kubernetes DaemonSet资源对象
- kubernetes资源对象--deployment
- kubernetes资源对象--Service
- kubernetes资源对象--Volume
- kubernetes资源对象--DaemonSet
- kubernetes资源对象--ingress
- kubernetes资源对象--ConfigMap
- kubernetes资源对象--limitranges
- kubernetes资源对象--ResourceQuotas
- kubernetes资源对象--PetSets/StatefulSet
- kubernetes--优雅删除资源对象
- kubernetes资源对象--RC和RS
- kubernetes资源对象--pod和job
- kubernetes资源对象--secret和Service Account
- kubernetes创建资源对象yaml文件例子--pod
- kubernetes创建资源对象yaml文件例子--rc
- kubernetes资源对象--Horizontal Pod Autoscaling(HPA)
- Sqlite数据库操作Dao类
- PhotoView
- 类加载的过程
- Spark java.lang.NoSuchMethodError: scala.Predef$.refArrayOps
- zookeeper的单机使用例子
- kubernetes资源对象--Label
- 安卓动态加载ListView
- 计算缓存大小以
- 水题qduoj https://qduoj.com/contest/23/
- 使用C#多线程提高系统响应能力举例
- 数据结构 基础题 字符串
- vue.js学习之组件(下篇)
- myBatis框架
- Oracle外键要建立索引的原理和实验