实用指南:k8s中的schedule

news/2025/10/3 13:06:44/文章来源:https://www.cnblogs.com/lxjshuju/p/19124530

所有的新建pod都需要走scheduler

一个非MasterNode上可以运行多个Pod,只要资源足够

  1. Node 的本质
    一个 Node = 一台物理机 或 虚拟机。
    它有自己的 CPU、内存、存储和网络资源。
    Pod 就是运行在 Node 上的“工作负载单元”。

  2. Node 和 Pod 的关系
    一个 Node 可以运行多个 Pod(只要资源足够)。
    Pod 调度到 Node 上时,Scheduler 会检查 Node 是否有足够的 CPU / 内存 / 存储 / 网络资源。
    限制因素:
    Node 的总资源容量
    Pod 的 requests 和 limits 调整
    节点污点(Taint)和 Pod 的容忍(Toleration)
    Pod 的亲和性/反亲和性规则
    资源和调度策略决定一个 Node 能跑多少 Pod。就是 所以,不是 Node 限制 Pod 数量,而

  3. 举例
    假设一个 Node 有 16 核 CPU,64Gi 内存:
    Pod A 需要 2 核 + 8Gi
    Pod B 需要 1 核 + 4Gi
    Pod C 必须 4 核 + 16Gi
    只要资源允许,可以同时跑很多 Pod。
    在大规模集群中,一个 Node 上运行 几十个甚至上百个 Pod 是非常常见的。

Scheduler

1. Scheduler 的位置


2. 工作流程

  1. Pod 创建

    • 用户通过 kubectl 或 API Server 提交 Pod。
    • Pod 信息写入 etcd,此时 spec.nodeName 为空(表示未调度)。
  2. 监听 Pending Pod

    • Scheduler 通过 API Serverwatch新的 Pod。
    • 当发现 Pod 处于 Pending 状态时,开始调度。
  3. 调度决策
    调度分两步:

    • 预选(Filtering):过滤掉不符合条件的节点
      • 节点资源不足(CPU/内存不够)
      • 节点打了 Taint(污点)
      • 不满足 Pod 的 NodeSelector、NodeAffinity 等约束
    • 优选(Scoring):对剩余节点打分,选择最优节点
      • 负载均衡
      • 节点剩余资源利用率
      • 拓扑结构(跨可用区分布等)
  4. 绑定 Pod 到节点

    • Scheduler 通过 API Server 发起Bind 请求
    • API Server 更新 Pod 的 spec.nodeName,写入 etcd。
  5. kubelet 启动容器

    • 目标 Node 上的 kubelet 通过API Server发现 Pod 被分配给自己。
    • kubelet 调用容器运行时(containerd/Docker)拉取镜像并启动容器。

3. 关键点总结

Kubernetes Scheduler 选 Node 依据规则

1. 过滤阶段(Predicates / Filter)

目的:排除不满足条件的 Node

2. 打分阶段(Priorities / Score)

目的:在候选 Node 中选择最优 Node

  • 资源利用率:Prefer evenly distributed / Least requested
  • 拓扑亲和:PodAffinity / PodAntiAffinity
  • 数据局部性:调度靠近所需 PV 或缓存数据
  • 自定义调度策略:Scheduler Extender、插件策略

3. 最终选择

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业公司网站开发国外的云服务器租用

1)替换处理 CTRLH打开replace功能,勾选上左侧的regular expression,并填写 find what栏: \s$ (正则表达式) replace with栏: (这行留空) 接着点replace all即可

简述网站建设优劣的评价标准网页升级访问未成年自觉离开

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 -------------------------------------------- 我是分隔线 --------------------------------------------------- Qualifier&#xf…

什么网站可以做pptapp制作平台下载

extern "C" 的作用是让 C 编译器将 extern "C" 声明的代码当作 C 语言代码处理,可以避免 C 因符号修饰导致代码不能和C语言库中的符号进行链接的问题。 extern "C" 使用 #ifdef __cplusplus extern "C" { #endifvoid *me…

竞猜网站建设物流公司创建

qt-C++笔记之创建和初始化 QGraphicsScene 和 QGraphicsView 并关联视图和场景的方法 code review! 参考笔记 1.qt-C++笔记之创建和初始化 QGraphicsScene 和 QGraphicsView 并关联视图和场景的方法 2.qt-C++笔记之QGraphicsScene和 QGraphicsView中setScene、通过scene得到vie…

tomcat做网站并发公司三站合一的网站

对于Python爬虫和Fiddler抓包,可能遇到的问题及解决: 代理设置错误:如果你在使用Python爬虫时遇到抓不到包的问题,首先应该检查你的浏览器代理设置是否正确。以Chrome为例,代理设置为:右上角菜单按钮>设…

惠州论坛网站建设网站建设人才招聘

![在这里插入图片描述](https://img-blog.csdnimg.cn/dde7fc866d214985baaa87300a472578.png)这些是存储在分区(分区才是实际的存储)文件中的. seg是逻辑概念 而实际由log存储的. index是偏移量索引而timeindex是时间戳索引 log就是seg 找数据就是先找log 再从log去找

如何免费注册淘宝店铺汕头seo排名

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 多开: 第一种:win10的开始菜单,在vscode图标右键选择“新开窗口”,这样就多了一个vscode…

wordpress 发布站司法政务网站群建设

协商缓存和强缓存是 HTTP 缓存机制中的两种不同的策略,用于减少网络请求并提高网页加载速度。它们之间的主要区别在于缓存的验证方式和服务器返回的响应头。 强缓存: 强缓存是基于过期时间(Expires)和缓存标识(Cache…

【光照】[PBR][环境光]实现方法解析

Unity URP环境光实现方案结合反射探针与球谐光照,提供平衡性能与质量的PBR渲染方案。核心流程包括:环境贴图采样、漫反射/镜面反射计算、环境遮蔽处理。主要采用三种技术:1)球谐光照-低内存占用,适合动态场景;2…

基于SpringBoot3+Vue3的校园跑腿架构、校园跑腿服务平台、校园接单系统、智能校园跑腿平台、协同过滤推荐算法,毕业设计,课程设计

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

建设网站企业网上银行登录入口东莞网络关键词排名

这篇文章是我最近十天口语系列文章的合辑,文章比较长,一万五千余字。但是系统化地归纳了自己十多年的英语尤其是口语方面的学习经历与总结思考。我不是个纯粹的英语专业学生,我甚至不是任何英语相关专业的学生,但是我和英语却有着…

树莓派搭建NAS之五:数据同步

数据同步 由于使用的是32GU盘作为nas存储盘,用不了几天就会出现磁盘空间被占满的情况,需要将nas中存储的录像记录,同步存储到阿里云盘中,并且删除历史的视频释放空间。 定时任务 直接通过ai写一个shell脚本,定时执…

初识文件管理

一个文件有哪些属性 文件名:同一个目录下不允许有重名文件。 标识符:一个系统内的个文件标识符唯一,对用户来说毫无可读性。主要用于让操作系统区分 类型:指明文件的类型 位置:文件存放的路径(用户可见),在外存…

微信社群机器人搭建 教程/开发

微信社群机器人搭建 教程/开发 个微API服务能处理用户微信中的各种事件,并辅助微信执行各种操作,提供了开发者与个人号对接的能力,是一款基于微信提供的个人号开放性API,使用简单,操作快捷,支持多种微信方式接入…

深入解析:Coze源码分析-资源库-编辑插件-后端源码-安全与错误处理

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

网站右侧虚代码家具设计培训

填充书架 dp[ i ] 放下第i 本书的最小高度 递推公式&#xff1a;要放第 i 本书的时候 假定前面有 j 本书在书架上&#xff0c;j<i &#xff0c;【 j - i 】之间的书作为最上层的&#xff0c;算出最上层书的最小层数 本题的目的是划分成多个子数组&#xff0c;这类问题&a…

2025 年激光粒度仪厂家 TOP 企业品牌推荐排行榜,电位仪 / 纳米粒度及 Zeta 电位仪 / Zeta 电位仪公司推荐

引言在颗粒测量领域,激光粒度仪作为关键检测设备,其性能直接影响产品质量把控与科研数据准确性。当前市场上仪器品牌繁杂,产品质量参差不齐,不少企业和科研机构在选购时面临诸多难题:部分仪器测量精度不足,数据重…

微信智能机器人开发-基于WTAPI框架,实现强大的个微管理

微信智能机器人开发-基于WTAPI框架,实现强大的个微管理 机器人接口开发:框架提供了开放接口,可以通过这些接口对微信进行操作。如接收用户消息、发送消息、操作朋友圈等。 自然语言处理:机器人需要能够理解自然语言…

网站开发原始数据12345律师免费咨询

RS485是一种常见的通讯接口方式&#xff0c;在我们的实际产品中也是多次使用。但我们平常并不会去过多考虑某一实现的细节问题&#xff0c;不过最近我们遇到了一个因如上下拉电阻的选择问题而造成的通讯故障&#xff0c;所以在这一片中我们来讨论一下RS485总线上下拉电阻的选择…

【AI时代速通QT】第七节:Visual Studio+Qt 开发指南 - 详解

【AI时代速通QT】第七节:Visual Studio+Qt 开发指南 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Conso…