十八、Label 和 Selector
Label 是键值对,用来标识 Kubernetes 资源(如 Pod、Node、Service 等)的属性。它们并不直接影响资源的行为,但可以帮助用户快速组织、查询和操作这些资源。标签可以用于选择、过滤和分组。
Label: 标签对 k8s 中各种资源进行分类、分组,如Pod和节点进行分组。通过添加kev=value格式的标签,用于区分同样的资源不同的分组。
Selector: 通过一个过滤的语法进行查找到对应标签的资源。标签选择器可以通过根据资源的标签查询出精确的对象信息。
Selector主要从资源角度。比如有50个pod,怎么去确定deployment管理的是哪些pod呢,就用Seletcor可以管理哪些资源的pod。
Label主要是pod或者node角度。基本上多有的东西都能打上标签。
… Service 通过 selector 匹配后端的 Pods,只有符合标签条件的 Pods 才会被加入到 Service 的负载均衡范围内。 …


不同资源的标签不要写成一样的
一般不修改pod的标签,一般都是更改node标签,给node打上标签,创建deployment可以指定标签。
一、 定义Label
应用案例:
有一条专属的高速光纤通道,此通道只能与 10.1.7.0 网段进行通信,因此只能将与这个网段通信应用部署到 10.1.7.0 网段所在的节点上。
此时可以对节点添加 Label:
[root@k8s-master01 ~]# kubectl label node k8s-node01 k8s-node02 subnet=7
node/k8s-node01 labeled
node/k8s-node02 labeled
然后可以通过 Selector 对其筛选:
[root@k8s-master01 ~]#kubectl get no -l subnet=7
NAME STATUS ROLES AGE VERSION
k8s-node01 Ready <none> 70d v1.28.0
k8s-node02 Ready <none> 70d v1.28.0
最后在 Deployment 或其他控制器中指定将 Pod 部署到该节点:
apiVersion: apps/v1
kind: Deployment
metadata:creationTimestamp: nulllabels:app: nginxname: nginx
spec:replicas: 3selector:matchLabels:app: nginxstrategy: {}template:metadata:creationTimestamp: nulllabels:app: nginxspec:nodeSelector: # 增加标签选择,新加的标签subnet: "7"containers:- image: registry.cn-beijing.aliyuncs.com/dotbalo/nginx:1.15.12-alpinename: nginxresources: {}
status: {}
生成pod,可以查看新生成的Pod在node1和node2的两个节点上。固定在某写节点上。
[root@k8s-master01 practice]#kubectl create -f nginx-deploy.yaml
deployment.apps/nginx created
[root@k8s-master01 practice]#kubectl get po
NAME READY STATUS RESTARTS AGE
nginx-df69b94b7-55m7g 1/1 Running 0 5s
nginx-df69b94b7-kmvp7 1/1 Running 0 5s
nginx-df69b94b7-vv5hs 1/1 Running 0 5s
[root@k8s-master01 practice]#kubectl get po -owide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
nginx-df69b94b7-55m7g 1/1 Running 0 13s 172.16.58.206 k8s-node02 <none> <none>
ngi相关文章:
十八、Label 和 Selector
Label 是键值对,用来标识 Kubernetes 资源(如 Pod、Node、Service 等)的属性。它们并不直接影响资源的行为,但可以帮助用户快速组织、查询和操作这些资源。标签可以用于选择、过滤和分组。 Label: 标签对 k8s 中各种资源进行分类、分组,如Pod和节点进行分组。通过添加kev…...
实现按键按下(低电平)检测到下降沿
按照流程进行编程 步骤1: 初始化函数 包括时基工作参数配置 输入通道配置 更新中断使能 使能捕获、捕获中断及计数器 HAL_TIM_IC_Init(&ic_handle) //时基参数配置 HAL_TIM_IC_ConfigChannel(&ic_handle,&ic_config,TIM_CHANNEL_2) //输…...
解析 SSM 垃圾分类系统,助力生态平衡
前 言 垃圾分类系统,传统的垃圾分类系统模式还处于线下管理阶段,管理效率极低。随着垃圾分类系统信息的不断增多,传统基于线下管理模式已经无法满足当前用户需求,随着信息化时代的到来。通过该系统的设计,管理员可以管…...
软件工程 设计的复杂性
复杂性代表事件或事物的状态,它们具有多个相互关联的链接和高度复杂的结构。在软件编程中,随着软件设计的实现,元素的数量以及它们之间的相互联系逐渐变得庞大,一下子变得难以理解。 如果不使用复杂性指标和度量,软件…...
Nginx 限制只能白名单 uri 请求的配置
实际生产项目中,大多数时候我们会将后端的 http 接口通过前置 nginx 进行反向代理,对互联网用户提供服务。往往我们后端服务所能提供的接口服务是大于互联网用户侧的实际请求的接口地址数量的(例如后端服务一共有100个api接口,经过…...
QT c++ 同时使用sqlite 和mysql数据库的问题
在项目开发中,同时使用了sqlite 和mysql数据库,分开这两部分运行功能都正常,但是一起运行,就异常,sqlite部分不能使用。 现象:出现如下提示 QSqlDatabasePrivate::addDatabase: duplicate connection nam…...
redis集群 服务器更换ip,怎么办,怎么更换redis集群的ip
redis集群 服务器更换ip,怎么办,怎么更换redis集群的ip 1、安装redis三主三从集群2、正常状态的redis集群3、更改redis集群服务器的ip 重启服务器 集群会down4、更改redis集群服务器的ip 重启服务器 集群down的原因5、更改redis集群服务器的ip后…...
【C++习题】19.数组中第K个大的元素
题目:数组中第K个大的元素 链接🔗:数组中第K个大的元素 题目: 代码: class Solution { public:int findKthLargest(vector<int>& nums, int k) {// 将数组中的元素先放入优先级队列中priority_queue<i…...
JIS-CTF: VulnUpload靶场渗透
JIS-CTF: VulnUpload来自 <https://www.vulnhub.com/entry/jis-ctf-vulnupload,228/> 1,将两台虚拟机网络连接都改为NAT模式 2,攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 靶机IP地址192.168.23.162,攻击机IP地址192.168.23.140…...
BGP-面试
简单介绍一下BGP BGP,边界网关协议,属于路径矢量路由协议。属于触发式更新或者增量更新。具有丰富的路由策略,能够灵活的进行路由选择。重心不是在路由学习,而是路由优选、更高效的传递路由和维护大量的路由信息。基于TCP…...
Git-安装与常用命令
目录 1.Git环境配置 1.1下载 1.2配置 1.2.1基本配置 1.2.2常用指令配置别名 1.2.3获取本地仓库 git命令在git bash中演示,会用到一些Linux命令。 1.Git环境配置 1.1下载 Git下载地址:https://git-scm.com/download 傻瓜式安装就可以了。 安装…...
回归预测 | Matlab实现基于BiLSTM-Adaboost双向长短期记忆神经网络结合Adaboost集成学习回归预测
目录 效果一览基本介绍模型设计程序设计参考资料效果一览 基本介绍 回归预测 | Matlab实现基于BiLSTM-Adaboost双向长短期记忆神经网络结合Adaboost集成学习回归预测 模型设计 基于BiLSTM-Adaboost的回归预测模型结合了双向长短期记忆神经网络(BiLSTM)和Adaboost集成学习的…...
微信小程序跳转其他小程序以及跳转网站
一、跳转其他小程序 1.1 知道appid和页面路径 wx.navigateToMiniProgram({appId: appid, // 替换为目标小程序 AppIDpath: pathWithParams, // 小程序路径envVersion: release, // 开发版、体验版或正式版success(res) {console.log("跳转到其他小程序成功!&q…...
Not using native diff for overlay2, this may cause degraded performance……
问题现象 案例:Anolis 8.9(4.19.91-26.an8.x86_64) Overlay2存储驱动程序) 当我们安装好Docker之后,通过systemctl status docker -l 会发现有一个告警信息:levelwarning msg"Not using native dif…...
【自用】管材流转项目 数据库恢复之 PIPE 表 二维码相关 各个表恢复 SQL
总览 1.后端前端和数据库 PIPE 页面的关系 2.后端批量生成二维码 jpg 图片 3.为了保证 PIPE 正常使用的调整 4.TRANSFORM(流转表) 一、后端前端和数据库 PIPE 页面的关系 1.前端 关于PIPE页面,首先,在前端,我们已经…...
【渗透测试】信息收集二
其他信息收集 在渗透测试中,历史漏洞信息收集是一项重要的工作,以下是相关介绍: 历史漏洞信息收集的重要性 提高效率:通过收集目标系统或应用程序的历史漏洞信息,可以快速定位可能存在的安全问题,避免重复…...
测试工程师八股文04|计算机网络 和 其他
一、计算机网络 1、http和https的区别 HTTP和HTTPS是用于在互联网上传输数据的协议。它们都是应用层协议,建立在TCP/IP协议栈之上,用于客户端(如浏览器)和服务器之间的通信。 ①http和https的主要区别在于安全性。http是一种明…...
定时/延时任务-Kafka时间轮源码分析
文章目录 1. 概要2. TimingWheel2.1 核心参数2.2 添加任务2.3 推进时间 3. TimerTaskList3.1 添加节点3.2 删除节点3.3 刷新链表3.4 队列相关 4. 时间轮链表节点-TimerTaskEntry5. TimerTask6. Timer 和 SystemTimer - 设计降级逻辑7. 上层调用8. 小结 1. 概要 时间轮的文章&a…...
如何用状态图进行设计05
到目前为止,我们已经讨论了状态图的原理。这些原理对状态图和扩展状态图都适用。第二章后面的部分主要讲述了扩展状态图的扩展功能。我们将围绕这些增强的功能,使你对BetterState Pro的设计能力有很好的了解。 关于这些内容和其他有关扩展状态图特性的完…...
【计算机视觉】边缘检测
图像的边缘简单来说就是图像中灰度不连续的地方。 1.图像梯度 图像梯度是指图像像素灰度值在某个方向上的变化;图像梯度是图像的一阶导数,实际计算时可以使用差分来近似。 1.1 什么是图像梯度? 图像梯度是一种数学工具,用于描…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...
