Kubernetes--管理资源标签(标签)
随着同类型资源对象的数量越来越多,分类管理也变得越来越有必要:基于简单且直接的标准将资源对象划分为多个较小的分组,无论是对开发人员还是对系统工程师来说,都能提升管理效率,这也正是 Kubernetes 标签(Label)的核心功能之一。对于附带标签的资源对象,可使用标签选择器(Label Selector)挑选出符合过滤条件的资源以完成所需要的操作,如关联、查看和删除等。
标签概述
标签是Kubernetes极具特色的功能之一,它能够附加于区ubemetes 的任何资源对象之上。简单来说,标签就是“键值”类型的数据,它们可于资源创建时直接指定,也可随时按需添加于活动对象中,而后即可由标签选择器进行匹配度检杳从而完成资源挑选。一个对象可拥有不止一个标签,而同一个标签也可被添加至多个资源之上。
实践中,可以为资源附加多个不同纬度的标签以实现灵活的资源分组管理功能,例如,版本标签、环境标签、分层架构标签等,用于交叉标识同一个资源所属的不同版本、环境及架构层级等。下面是较为常用的标签。
- 版本标签:"release":"stable","release" : "canary" , "release" : "beta"。
- 环境标签:"environment" : "dev","environment" : "qa" , "environment" : "production"。
- 应用标签:"app" :"ui" ,"app" : "as" , "app" : "pc" , "app" : "sc" 。
- 架构层级标签:"tier" :"frontend" ,"tier” : "backend” ,"tier" : "cache"。
- 分区标签:"partition” :"customerA" , "partition" : "customerB" 。
- 品控级别标签:"track" :"daily" ,"track" : "weekly" 。
标签中的键名称通常由键前缀和键名组成,其中键前级可选,其格式形如“KEY-PREFIX/KEY NAME”。键名至多能使用63个字符,可使用字母、数字、连接号(-)、下划线(—)、点号(.)等字符,并且只能以字母或数字开头。键前级必须为DNS子域名格式,且不能超过253个字符。省略键前级时,键将被视为用户的私有数据,不过由Kubernetes系统组件或第三方组件自动为用户资源添加的键必须使用键前级,而“kubernetes.io/” 前缀则预留给Kubernetes的核心组件使用。
标签中的键值必须不能多于63个字符,它要么为空,要么是以字母或数字开头及结尾,且中间仅使用了字母、数宇、连接号(-)、下划线(—)或点号(.)等字符的数据。
实践中,建议键名及键值能做到 “见名知义” ,且尽可能保持简单。
管理资源标签
创建资源时。可以直接在其metadata中嵌套使用“labels”字段以定义要附加的标签项。比如,下面的Pod资源清单文件示例pod-with-labels.yaml中使用了两个标签env=qa和tier=frontend:
apiVersion: v1
kind: Pod
metadata:
name: pod-with-labels
labels:
env: qa
tier: frontend
spec:
containers:
- name: myapp
image: ikubernetes/myapp:v1
基于次资源清单创建出定义的Pod对象之后,即可在“kubectl get pods”命令中使用“--show-labels”选项,以额外显示对象的标签信息:
kubectl apply -f pod-with-labels.yaml
pod “pod-with-labels” created
kubectl get pods --show-labels
······
#显示内容就省略掉了,大家可以自己查看。
标签较多时,在“kubectl get pods”命令上使用“-L key1,key2,···”选项可以指定显示有着特定键的标签信息。比如仅显示在各pods之上的以env和tier为键名的标签:
kubectl get pods -L env,tier
“kubectl label”命令可以直接管理活动对象的标签,以按需进行添加或修改等操作。比如为pod-example添加env=production标签:
kubectl label pods/pod-example env=production
pod “pod-example” labeled
不过,对于已经附带了指定键名的标签,使用“kubectl label”为其设定新的键值时需要为命令同时使用“--overwrite”命令以强制覆盖原有的键值。比如将pod-with-labels的env的值修改为“testing”:
kubectl label pods/pod-with-labels env=testing --overwtite
pod “pod-with-labels” labeled
用户若期望对某标签之下的资源集合执行某类操作,比如查看或删除等,则需要先使用“标签选择器”挑选出满足的条件的资源对象。
Kubernetes--管理资源标签(标签)的更多相关文章
- kubernetes创建资源对象yaml文件例子--pod详解
apiVersion: v1 #指定api版本,此值必须在kubectl apiversion中 kind: Pod #指定创建资源的角色/类型 metadata: #资源的元数据/属性 name: ...
- [置顶]
kubernetes创建资源yaml文件例子--pod
kubernetes创建pod的yaml文件,参数说明 apiVersion: v1 #指定api版本,此值必须在kubectl apiversion中 kind: Pod #指定创建资源的角色/类型 ...
- (七)Kubernetes Service资源
Service概述 为什么要使用Service Kubernetes Pod是平凡的,由Deployment等控制器管理的Pod对象都是有生命周期的,它们会被创建,也会意外挂掉.虽然它们可以由控制器自 ...
- Kubernetes中资源清单与Pod的生命周期(二)
一.资源清单 1,定义: 在k8s中一般使用yaml格式的文件来创建符合我们预期的资源,这样的yaml被称为资源清单. 使用资源清单创建Pod: kubectl apply -f nginx.yaml ...
- 基于EasyUI Treegrid的权限管理资源列表
1. 前言 最近在开发系统权限管理相关的功能,主要包含用户管理,资源管理,角色管理,组类别管理等小的模块.之前的Web开发中也用过jQueryEasyUI插件,感觉这款插件简单易用,上手很快.以前用到 ...
- [置顶]
kubernetes创建资源yaml文件例子--rc
apiVersion: v1 #指定api版本,此值必须在kubectl apiversion中 kind: ReplicationController #指定创建资源的角色/类型 metadata: ...
- 使用 Addressables 来管理资源
使用 Addressables 来管理资源 一.安装 打开Package Manager,在Unity Technologies的目录下找到Addressables,更新或下载. 二.配置 依次打开W ...
- kubernetes学习资源
参考文章: 1.kubernetes学习资源 1. <Kubernetes与云原生应用>系列之Kubernetes的系统架构与设计理念 2.[docker专业介绍的网站dockerinfo ...
- Kubernetes管理GPU应用
目录 简介 GPU驱动 Nvidia-docker Nvidia-device-plugin 在Kubernetes上运行GPU应用 附录 简介 伴随着人工智能技术的发展,机器学习的应用场景越来越广泛 ...
- 这么高颜值的Kubernetes管理工具Lens,难道还不能C位出道吗
1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! Docker & Kubernetes相关文章:容器技术 一直使用官方的Kubernetes Dashboard来管 ...
随机推荐
- 使用VMware Converter Standalone P2V(物理机转换虚拟机)
使用VMware Converter Standalone P2V(物理机转换虚拟机) 环境说明: 1.P2V软件:VMware-converter-en-6.3.0-20575345 下载地址:v ...
- 【学习日志】volatile关键字的作用
消除指令重排序 保证了不同线程对变量进行操作时的可见性,cpu对变量值修改后,其他线程读取变量信息时从内存读取而非cpu缓存
- W04 散文周刊 : 重回Emacs
W04 散文周刊 : 重回Emacs 邮箱:ppbhoy@qq.com 博客地址: www.pipihao.com 公纵号:南湖小皮 公告:后面会开始稳定更新 使用Emacs还是有些沉重,我一直将Em ...
- 【LeetCode字符串#05】基于个人理解的KMP算法图解,以及应用到strStr()函数实现
KMP算法(用于实现 strStr()) strStr()函数是用来在一个字符串中搜索是否存在另一个字符串的函数,其匹配字符串方式为KMP算法 KMP算法基础理论 假设有如下两个字符串 文本串 aab ...
- WAVE音频文件格式及其64位扩展格式的简要介绍
正文 关于 WAVE 文件格式,网上有不少介绍,但关于WAVE 64位扩展格式的介绍却是几乎没有. 所以本文的目的是简要介绍标准的 WAVE 格式,以及两种主要的扩展格式. 文中所有代码都用C语言来描 ...
- [代码审计基础 03]-RCE-fork,system,execve
RCE-fork,system,execve 简单来讲: 数据流进入了控制流 紧紧抓住输入 不同数据层的交汇处,往往是漏洞点 远程代码执行 PHP eval() assert() preg_reple ...
- JZOJ 5352. 【NOIP2017提高A组模拟9.7】计数题
题目 分析 考虑 \(kruskal\) 的过程 我们选边从高位开始 当前位为 \(0\) 的放一边,为 \(1\) 的放另一边 将 \(0\) 的建一棵字典树, \(1\) 的匹配 因为是异或,那就 ...
- dotnet总结
初衷: 搞了几年.Net ,一直没在博客园做过系统的总结,并打算按照下面的结构来写 语言层面 类型系统 [查看]: https://www.cnblogs.com/francisXu/p/136027 ...
- win11 文件夹内关闭显示更多
使用命令提示符 打开cmd窗口,输入 reg add HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\Inpro ...
- C# 通过反射获取类字段名和值并加入到字典中(包含递归获取)
//测试类 public class HKAddvisitor1{ public string code { set; get; } public string msg { set; ge ...