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来管 ...
随机推荐
- docker05-dockerfile
1.dockerfile是什么 Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本.可以理解为docker自己的语言编写的脚本. 2.Dockerfile内容基础 ...
- Cheat Engine 中文设置汉化教程
下载地址:https://www.cheatengine.org/downloads.php 下载windows 安装版本以及中文翻译包: 1.安装程序:一路NEXT即可 2.打开程序安装位置在在文件 ...
- 使用GetDIBits()获取Windows位图数据的标准用法,解决内存、堆栈报错问题
获取图标的位图数据 分两次使用GetDIBits(),以便于正确设置缓存的大小 正确设置BITMAPINFO的大小,否则就会报堆栈溢出错误 ICONINFO info = { 0 }; GetIcon ...
- python3中,isinstance() 函数
#isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type(). #返回值:如果对象的类型与参数二的类型相同则返回True,否则返回False 使用isinstance函数的实 ...
- SnowFlake 雪花算法详解与实现 & MP中的应用
BackGround 现在的服务基本是分布式,微服务形式的,而且大数据量也导致分库分表的产生,对于水平分表就需要保证表中 id 的全局唯一性. 对于 MySQL 而言,一个表中的主键 id 一般使用自 ...
- Training Spiking Neural Networks with Local Tandem Learning
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 36th Conference on Neural Information Processing Systems (NeurIPS 202 ...
- Cesium鼠标移动到模型上,给模型添加高亮轮廓(四)
2023-01-09 Cesium虽然也支持两种方式(Entity和Primitive)加载3D Tiles数据, 但因为多数情况下3D Tiles数据都是成片区的数据,数据量比较大,所以为了保证性能 ...
- 题解 Trie 但是你要最小化它的节点数量
名字瞎取的 Description 给定 \(n\) 个字符串 \(s\),可以对 \(s_i\) 的字符打乱,将这些字符串加入一个 trie 里面求节点数量最小值. \(n\le 16, \sum ...
- 代码随想录算法训练营day06 | leetcode 242、349 、202、1
基础知识 哈希 常见的结构(不要忘记数组) 数组 set (集合) map(映射) 注意 哈希冲突 哈希函数 LeetCode 242 分析1.0 HashMap<Character, Inte ...
- Electron 打包 (electron-builder)
本文只测试了Windows 10 下打包Windows基础安装包 更多花哨的配置,请戳官方文档 https://www.electron.build/ www.electron.build/ 构建基 ...