Kubernetes详解(十一)——标签与标签选择器

简介: Kubernetes详解(十一)——标签与标签选择器

今天继续给大家介绍Linux运维相关知识,本文主要内容是Kubernetes中的标签与标签选择器。

一、标签与标签选择器概述
(一)标签
在Kubernetes集群中,标签本身是一个键值对类型的数据,并且可以附着在任何资源对象上,可以在资源对象被创建时就指定,或者是在资源对象创建后添加。在Kubernetes集群中,一个资源对象可以拥有多个标签,多个资源对象也可拥有相同的标签。
Kubernetes集群中标签有严格的格式,其Key的定义可以使用字母、数字而下划线,连字符以及点号,但是只能够以字符或者是数字开头。Value可以为空,也可以使用字母、数字、连字符以及点好,但是首尾必须使用数字或者是字母。

(二)标签选择器
在Kubernetes集群中,标签选择器常用于标签的查询条件或者是选择标准。Kubernetes目前支持两种标签选择器,即基于等值关系和基于集合关系的标签选择器。
基于等值关系的标签选择器有以下三种:
“==”、“=”和“!=”,前两种都表示等于,最后一个表示不等于
基于集合关系的标签选择器有以下四种:
key in (VALUE1,VALUE2,VALUE3……),表示指定的键值存在与后面的集合中。
key notin (VALUE1,VALUE2,VALUE3……),表示指定的键值不存在与后面的集合中。
key,表示存在此键名的标签。
!key,表示不存在此键名的标签。
标签选择器的使用遵循以下逻辑:
1、同时指定多个标签选择器时,这多个标签选择器的逻辑关系为“与”。
2、使用空值的标签选择器意味着选择每个资源对象。
3、空的标签选择器无法选择出任何资源。
注意,在这里,空的标签选择器和空值的标签选择器具有不同的含义。空的标签选择器即没有标签选择器,而空值的标签选择器则意味着虽然有标签选择器,但是该标签选择器的值为空。

二、标签与标签选择器相关命令
接下来,我就来介绍标签与标签选择器的相关命令:

(一)查看Pod对象的标签
我们在查看Pod对象的基础上,添加上–show-labels参数,可以查看Pod对象的标签,例如,执行命令:

kubectl get pods --show-labels
1
就可以查看当前运行的Pod及其标签,该命令执行结果如下所示:

除此之外,-L参数可以显示Pod对象的指定标签,执行命令:

kubectl get pods -L 【键A】
1
可以显示所有的Pod对象,对含有键A标签的Pod会显示其值,对不含有键A标签的Pod会显示为空。
例如,执行命令:

kubectl get pods -L label1,label2
1
可以显示当前的Pod对象以及其label1和label2标签,该命令执行结果如下:

(二)标签选择器筛选标签
在kubectl命令中,-l参数可以用作标签的筛选,例如,执行命令:

kubectl get pods -l label1,label2
1
可以筛选处同时含有lable1和label2标签的Pod,该命令执行结果如下:

(三)Pod对象创建后添加标签
我们可以在Pod对象创建时就给它指定标签,我们也可以使用label命令在Pod对象创建后添加标签,该命令格式如下:

kubectl label pods/【Pod名】 【标签键】=【标签值】
1
例如,执行命令:

kubectl label pods/pod-demo-test label3=label3
1
可以给pod-demo-test的Pod对象添加label3=label3的标签。该命令执行结果如下所示:

(四)修改Pod对象的标签
除了给已经运行的Pod对象添加标签之外,我们还可以修改Pod对象的标签。该操作也需要使用label命令,并且在最后要添加–overwrite的命令。例如,执行命令:

kubectl label pods/pod-demo-test label3=modify --overwrite
1
可以将该Pod原来的label3=label3修改为label3=modify,该命令执行结果如下:

原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/124286570

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
18天前
|
Kubernetes Perl 容器
k8s标签
k8s标签
|
2天前
|
Kubernetes 算法 调度
k8s群集调度之 pod亲和 node亲和 标签指定
k8s群集调度之 pod亲和 node亲和 标签指定
|
17天前
|
运维 Kubernetes Shell
Kubernetes详解(十二)——节点选择器与资源注解
Kubernetes详解(十二)——节点选择器与资源注解
33 2
|
18天前
|
Kubernetes 测试技术 开发工具
云效我标签只有测试环境:但我其实对应了两个k8s集群(测试A,测试B)环境,这种情况怎么处理呢?
云效我标签只有测试环境:但我其实对应了两个k8s集群(测试A,测试B)环境,这种情况怎么处理呢?
120 1
|
9月前
|
Kubernetes 负载均衡 前端开发
揭秘Kubernetes标签和选择器:发挥元数据的威力
揭秘Kubernetes标签和选择器:发挥元数据的威力
揭秘Kubernetes标签和选择器:发挥元数据的威力
|
弹性计算 Kubernetes 前端开发
云原生之容器编排实践-Kubernetes资源管理:标签选择器,注解以及命名空间
云原生之容器编排实践-Kubernetes资源管理:标签选择器,注解以及命名空间
243 0
|
存储 Kubernetes API
k8s 准入控制器【3】--编写和部署准入控制器 Webhook--根据标签才可创建pod
k8s 准入控制器【3】--编写和部署准入控制器 Webhook--根据标签才可创建pod
|
Kubernetes 安全 应用服务中间件
k8s 高级调度 亲和力和反亲和力、绑定标签、污点容忍污点
k8s 高级调度 亲和力和反亲和力、绑定标签、污点容忍污点
|
5天前
|
存储 运维 监控
Kubernetes 集群监控与日志管理实践
【5月更文挑战第28天】在微服务架构日益普及的当下,容器编排工具如 Kubernetes 已成为运维工作的核心。有效的集群监控和日志管理是确保系统稳定性和服务可靠性的关键。本文将深入探讨 Kubernetes 集群的监控策略,以及如何利用现有的工具进行日志收集、存储和分析,以实现对集群健康状况的实时掌握和问题快速定位。
|
1天前
|
Kubernetes 微服务 容器
Aspire项目发布到远程k8s集群
Aspire项目发布到远程k8s集群
10 2
Aspire项目发布到远程k8s集群