(五)K8S核心资源Label与NodeSelector标签选择器

1.Label

在 Kubernetes 中,Label 是用来对资源对象进行标记和分类的一种机制。它是一个键值对的组合,可以附加到各种 Kubernetes 资源对象上,例如 Pod、Service、Deployment 等。

Label 的主要作用有以下几个方面:

1.标识和分类:Label 可以用来标识和分类 Kubernetes 资源对象。通过为资源对象添加适当的 Label,可以根据业务需求对资源进行分组和管理,方便进行查询、筛选和操作。

2.选择器和匹配:Label 可以作为选择器,用于选择符合特定标签条件的资源对象。这在定义 Service、ReplicaSet、Deployment 等对象时非常有用,可以根据 Label 来选择要操作的资源。

3.资源关联:Label 可以用于建立资源对象之间的关联关系。通过为相关资源对象添加相同的 Label,可以实现它们之间的关联和联系。

以下是一些关于 Kubernetes Label 的常见操作和用法:

1.添加 Label:通过在资源对象的元数据中定义 Label,如下所示:

metadata:
  labels:
    app: my-app
    env: production

2.根据 Label 进行选择和过滤:可以使用 kubectl 命令结合 Label 选择器来选择符合特定 Label 条件的资源对象。例如:

kubectl get pods -l app=my-app
kubectl get services -l env=production

3.更新和删除 Label:可以通过更新资源对象的元数据来修改或删除 Label。使用 kubectl 命令时,可以使用 --overwrite 标志来更新资源对象的 Label。

kubectl label pod my-pod app=new-app --overwrite
kubectl label pod my-pod env-  # 删除指定的 Label

4.Label 选择器:可以使用 Label 选择器来选择具有特定 Label 的资源对象。选择器有几种常见的类型,如等式选择器、不等式选择器、集合选择器等。

selector:
  matchLabels:
    app: my-app

Label 是 Kubernetes 中一个非常强大且灵活的概念,可以用于资源管理、部署、扩展和网络等方面。通过合理使用 Label,可以更好地组织和管理 Kubernetes 集群中的资源对象。

2.标签选择器Label selector

是Kubernetes核心的分组机制,通过label selector客户端/用户能够识别一组有共同特征或属性的资源对象

对应的资源打上标签后,可以使用标签选择器过滤指定的标签

标签选择器目前有两个

  1. matchLabels 用于定义一组Label , 基于等值关系(等于、不等于) ,类似于SQL语句中的=或!=
  2. matchExpressions 基于集合关系(属于、不属于、存在) ,类似于SQL语句中的in或 not in

备注

如果同时设置了matchLabels和matchExpressions,则两组条件为 AND关系
即需要同时满足所有条件才能完成Selector的筛选

使用示例:

kubectl get pods --selector=<label-selector>

在 <label-selector> 的位置,你需要使用正确的 Label 选择器语法来定义筛选条件。Label 选择器语法支持以下操作:

  • 等式匹配: kubectl get pods --selector=app=nginx
  • 不等式匹配:kubectl get pods --selector=‘env!=prod’
  • 存在性匹配:kubectl get pods -l env
  • 多个匹配条件:使用逗号 , 连接多个条件 kubectl get pods -l app=nginx,tier=frontend

3.NodeSelector 标签选择器

NodeSelector 是 Kubernetes 中用于选择特定节点的标签选择器。通过 NodeSelector,可以在 Pod 的配置中指定一个或多个标签,并要求 Pod 只能调度到具有匹配标签的节点上。

NodeSelector 使用标签键值对来选择节点。标签是键值对的形式,可以为节点添加任意的标签。当创建 Pod 时,可以使用 NodeSelector 来指定 Pod 所需的节点标签。Kubernetes 调度器会根据标签选择器找到具有匹配标签的节点,将 Pod 调度到这些节点上。

以下是一个使用 NodeSelector 的示例 YAML 配置文件:

apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
  - name: my-container
    image: nginx
  nodeSelector:
    disk: ssd
    region: us-west

在上述示例中,Pod 配置中的 nodeSelector 字段指定了两个节点标签:disk: ssd 和 region: us-west。这意味着该 Pod 只会被调度到具有这两个标签的节点上。

要使用 NodeSelector,需要确保节点上已经添加了相应的标签。可以使用 kubectl label nodes 命令来为节点添加标签,例如:

kubectl label nodes <node-name> disk=ssd
kubectl label nodes <node-name> region=us-west

在上述命令中, 是要添加标签的节点名称。

通过 NodeSelector,可以根据节点的标签选择器将 Pod 调度到合适的节点上。这可以用于实现一些特定的部署策略,例如将具有特定硬件配置或位于特定地理区域的 Pod 部署到相应的节点上。

注意:NodeSelector 只是一种简单的调度策略,更高级的调度策略可以使用 Node Affinity 和 Node Taints 等机制来实现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/20939.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

chatgpt赋能Python-python3_8_5怎么保存

Python 3.8.5&#xff1a;什么是它&#xff0c;为什么它重要&#xff0c;以及如何安装和保存&#xff1f; Python是当今世界上最受欢迎的编程语言之一。Python 3.8.5是该语言的最新版本&#xff0c;它引入了一些重要的改进和新特性。这篇文章将介绍Python 3.8.5并向您展示如何…

基于欧式距离的聚类算法的Kmeans作业

访问【WRITE-BUG数字空间】_[内附完整源码和文档] 基于欧式距离的聚类算法&#xff0c;其认为两个目标的距离越近&#xff0c;相似度越大。 该实验产生的点为二维空间中的点。 环境配置 java环境&#xff0c;使用原生的Java UI组件JPanel和JFrame 算法原理 基于欧式距离的聚…

macOS Monterey 12.6.6 (21G646) 正式版发布,ISO、IPSW、PKG 下载

macOS Monterey 12.6.6 (21G646) 正式版发布&#xff0c;ISO、IPSW、PKG 下载 本站下载的 macOS 软件包&#xff0c;既可以拖拽到 Applications&#xff08;应用程序&#xff09;下直接安装&#xff0c;也可以制作启动 U 盘安装&#xff0c;或者在虚拟机中启动安装。另外也支持…

【Jmeter第二章】将Jmeter界面切换为中文显示

1、Jmeter临时切换为中文显示 注意&#xff1a;上面的配置只能保证本次运行是中文&#xff0c;如果要永久中文&#xff0c;需要修改Jmeter的配置文件 2、通过修改Jmeter配置文件设置为中文显示 1、在 Jmeter/bin目录下&#xff0c;找到&#xff1a;jmeter.properties 文件 2…

【达梦数据库】达梦数据库windows安装

目录 1.选择语言与时区 2.安装向导 3.许可证协议 4.验证 Key 文件 5.选择安装组件 6.选择安装目录 7.目录确认 8.开始安装 9.安装过程 10.安装完成 11.创建数据库实例 12.创建数据库模板 13.数据库目录 14.数据库标识 15.数据库文件 16.初始化参数 17.口令管理…

【算法学习系列】01 - 求某个数组中的任意两个位置之间的累加和

文章目录 背景解决思路代码实现 背景 已经呆在自己的舒适圈有很长一段时间了&#xff08;公司快3年了&#xff0c;业务都熟的差不多了&#xff09;&#xff0c;决定开始改变&#xff08;任何时候都不晚&#xff09;&#xff0c;尝试学习解决一些算法题&#xff0c;给自己一些适…

使用Rust构建一个kvm用户空间实例

最近在学习虚拟化相关的内容&#xff0c;想着使用Rust构建一个最小的kvm用户空间实例。也就是直接调用kvm的api&#xff0c;然后创建虚拟机。网络上关于kvm的内容大部分是使用libvirt的&#xff0c;然后kvm用户空间实例也是使用C编写的。因此想着使用Rust写一个简单的。 思路 …

Android PickerView简单应用

1. Android-PickerView Android-PickerView这是一款仿iOS的PickerView控件&#xff0c;有时间选择器和选项选择器。 添加依赖项 implementation com.contrarywind:Android-PickerView:4.1.92. 时间选择器 Android-PickerView时间选择器使用Build模式来创建 var timePicker…

鲲鹏昇腾开发者峰会开幕 星辰天合发布新一代天合翔宇一体机

近日&#xff0c;主题为“创未来 享非凡”的鲲鹏昇腾开发者峰会 2023 在东莞松山湖开幕&#xff0c;此次大会旨在帮助开发者深入了解鲲鹏、昇腾全栈技术&#xff0c;加速行业数智化的技术、产品和解决方案创新。 作为鲲鹏生态重要合作伙伴&#xff0c;XSKY星辰天合获邀参加此次…

1053 Path of Equal Weight(超级无敌详细注释+45行代码)

分数 30 全屏浏览题目 切换布局 作者 CHEN, Yue 单位 浙江大学 Given a non-empty tree with root R, and with weight Wi​ assigned to each tree node Ti​. The weight of a path from R to L is defined to be the sum of the weights of all the nodes along the pa…

亲水性Sulfo-Cyanine3 NHS ester水溶性CY3标记活性脂

Sulfo-Cy3是一种荧光染料&#xff0c;可用于生物成像和细胞标记等应用。Sulfo-Cy3是一种含有硫酸基的Cy3染料&#xff0c;具有高度的水溶性和稳定性。Sulfo-Cy3可以与NHS&#xff08;N-羟基琥珀酰亚胺&#xff09;结合&#xff0c;形成Sulfo-Cy3 NHS&#xff0c;这种结合物可以…

前端开发之函数式编程实践 | 京东云技术团队

作者&#xff1a;京东科技 牛志伟 函数式编程简介 常见应用场景 1、ES6中的map、filter、reduce等函数 [1,2,3,4,5].map(x > x * 2).filter(x > x > 5).reduce((p,n) > p n);2、React类组件 -> 函数式组件hooks、Vue3中的组合式API 3、RxJS、Lodash和Ramd…

华为基于dhcp snooping表的各种攻击防御

所有的前提是必须开启了dhcp snooping功能 一、dhcp 饿死攻击&#xff1a; 接口下或vlan下开启 dhcp snooping check dhcp-chaddr enable 开启二层源mac和chaddr一致性检测 dhcp snooping max-user-number 1 接口上手动配置的绑定成员数量&#xff08;可选择项&#xff09; …

亚马逊云科技作为中国出海力量之一,为中国企业提供技术桥梁

这是一个真实的故事&#xff1a;一家出海企业的项目交付需要在非洲吉布提部署上云&#xff0c;企业负责人在地图上找了半天才找到吉布提&#xff0c;而亚马逊云科技仅用了3天的时间就为企业在当地的业务开展&#xff0c;交付了IT基础设施。对于出海企业来说&#xff0c;这种效率…

文本三剑客awk

awk 工作原理&#xff1a; 逐行读取文本&#xff0c;默认以空格或tab键为分隔符进行分隔&#xff0c;将分隔所得的各个字段保存到内建变量中&#xff0c;并按模式或者条件执行编辑命令。 sed命令常用于一整行的处理&#xff0c;而awk比较倾向于将一行分成多个“字段”然后再进…

如何高效搭建影视及游戏工业化管线?

影视和游戏工业化是指制作流程上呈现出标准化、自动化、平台化、数智化的特征。工业化趋势会让制作影视和游戏门槛变高&#xff0c;让其进入精品对决时代。 不进行迭代&#xff0c;就面临被淘汰的危险。 随着受众对于影视和游戏质量的要求越发“苛刻”&#xff0c;精品化是整…

python:随机森林分类器的性能评估(决策树数量的影响)

作者:CSDN @ _养乐多_ 随机森林(Random Forest)是一种强大的机器学习算法,常用于分类和回归任务。它由多个决策树构成,通过集成学习的方式进行预测。在本篇博客中,我们将探讨随机森林分类器在不同决策树数量下的性能,并绘制相应的图表进行可视化分析。OOB误差,0被误判为…

Kubernetes 二进制部署高可用集群 失败 看报错

概述 openssl证书有问题导致失败&#xff0c;未能解决openssl如何创建私钥&#xff0c;可参考ansible 在私有局域网内完成Kubernetes二进制高可用集群的部署 ETCD Openssl > ca 证书 Haproxy Keepalived Kubernetes 主机规划 序号名字功能VMNET 1备注 1备注 2备注 3 备注…

【C++】-static在类和对象中的作用和细节(下)

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树 ❤️‍&#x1fa79;作者宣言&#xff1a;认真写好每一篇博客 &#x1f4a8;作者gitee:gitee &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 文章目录 前言 前言 今天我们来讲一个static对类的对象的作用…

C++模板template

我们现在有几个变量&#xff0c;我们向要实现他们的交换&#xff0c;所以我们现在写了一个swap函数 我们现在可以实现对这两个变量之间的交换&#xff0c; 那么我们有有两个变量需要交换呢&#xff1f;&#xff1f; 我们刚才的Swap函数的参数是int类型的&#xff0c;我们现在的…
最新文章