美丽之标签,Daemonset工作资源对象

  

标签(标签)

  

<强>我们为什么要使用标签呢?
当相同类型的资源对象越来越多,为了更好的管理,才按照标签分为一个小的组,为的是提升资源的管理效率。

  

标签是附着到对象上(例如pod)的键值对。可以在创建对象的时候指定,也可以在对象创建后随时指定.Labels的值对系统本身并没有什么含义,只是对用户才有意义。

  
 <代码>“标签”:{
  “key1”:“value1”,
  :“key2 value2”
  } 
  

<>强语法和字符集

  
 <代码>标签关键的组成:
  *不得超过63个字符
  *可以使用前缀,使用/分隔,前缀必须是DNS子域,不得超过253个字符,系统中的自动化组件创建的标签必须指定前缀,kubernetes。io/由kubernetes保留。
  *起始必须是字母(大小写都可以)或数字,中间可以有连字符,下划线和点。 
  
 <代码>标签值的组成:
  不得超过63个字符
  起始必须是字母(大小写都可以)或数字,中间可以有连字符,下划线和点。 
  

<强>常用的,多维度标签分类:

  
 <代码>版本标签(释放):稳定(稳定版),金丝雀(金丝雀版本),β(测试版)
  环境类(环境):dev(开发),qa(测试),生产(生产),op(运维)
  应用类(企业信息流):ui(设计),为(应用软件),pc(电脑端),sc(网络方面)
  架构层(层):前端(前端),后端(后端),缓存(缓存)
  分区标签(分区):customerA(客户),customerB
  品控级别(跟踪):每日(每天),每周(每周) 
  

通过以下例子来实践标签:

  
 <代码> # vim label-pod.yaml root@master yaml
  apiVersion: v1
  :豆荚
  元数据:
  名称:label-pod
  标签:#使用标签字段来定义标签,可以一次定义多个标签,这里定义3个标签
  发布:#稳定版本:稳定版
  env: qa #环境:测试
  层:前端#架构类:前端
  规范:
  容器:
  ——名称:testapp
  图片:nginx #部署的是nginx服务
  ---
  类型:服务#关联一个服务资源对象
  apiVersion: v1
  元数据:
  名称:nginx-svc
  规范:
  类型:NodePort
  选择器:#使用标签选择器
  发布:#只稳定需定义选择器字段中的一个标签,字段下的其他标签可全部实现关联。
  港口:
  ——协议:TCP
  端口:80
  发送:80
  nodePort: 32134  
  
 <代码> [root@master yaml] # - f label-pod.yaml kubectl适用
  豆荚/label-pod创建
  服务/nginx-svc不变 
  
 <代码>//查看所有仓,并且显示标签键:值:
  [root@master yaml] # kubectl得到——show-labels仓
  姓名就绪状态重启年龄标签
  label-pod 1/1运行30 0 m env=qa,释放=稳定层=前端代码 
  

//查看指定舱的关键:价值:

  
 <代码> [root@master yaml] # kubectl得到label-pod——show-labels仓
  姓名就绪状态重启年龄标签
  label-pod运行0 40米应用=1/1,env=qa,释放=稳定层=前端 
  

//只显示标签的价值:

  
 <代码> [root@master yaml] # kubectl pod label-pod - l env,释放,层
  姓名就绪状态重启年龄ENV释放层
  label-pod 1/1 0 41 m qa运行稳定的前端代码 之前
  

标签的其他操作(命令行):添加,修改,删除标签
//通过命令行的方式添加标签:

  
 <代码> [root@master yaml] # kubectl标签pod label-pod应用=sc
  豆荚/label-pod标记
  [root@master yaml] # kubectl pod - l的应用
  名字就绪状态重启应用时代
  label-pod 1/1运行0 36 m sc  
  

//修改标签:

  
 <代码> [root@master yaml] # kubectl标签pod label-pod应用=错误:“应用程序”已经有了一个值(sc),覆盖是错误的
  [root@master yaml] # kubectl标签pod label-pod应用=哺?
  豆荚/label-pod标记 
  

可以看到想要修改标签,必须加上——覆盖选项进行重写。

  

//删除标签:

  
 <代码> [root@master yaml] # kubectl标签pod label-pod app -
  豆荚/label-pod标记
  [root@master yaml] # kubectl pod - l的应用
  名字就绪状态重启应用时代
  label-pod 1/1运行0 # 43米可以看到该标签以被删除 
  

//我们测试nginx服务是否能够正常运行:
 k8之标签,Daemonset,工作资源对象

  

标签选择器   

<强>标签选择器:标签的查询过滤条件。
标签不是唯一的,很多对象可能有相同的标签,通过标签选择器,客户端/用户可以指定一个对象集合,通过标签选择器对对象的集合进行操作

美丽之标签,Daemonset工作资源对象