当前位置: 首页 > news >正文

实用指南:k8s中的schedule

所有的新建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.hskmm.com/?act=detail&tid=23516

相关文章:

  • 【光照】[PBR][环境光]实现方法解析
  • 树莓派搭建NAS之五:数据同步
  • 初识文件管理
  • 微信社群机器人搭建 教程/开发
  • 2025 年激光粒度仪厂家 TOP 企业品牌推荐排行榜,电位仪 / 纳米粒度及 Zeta 电位仪 / Zeta 电位仪公司推荐
  • 微信智能机器人开发-基于WTAPI框架,实现强大的个微管理
  • 2025粒度仪厂家 TOP 企业品牌推荐排行榜,粒度分析仪,喷雾,激光,纳米,在线,图像粒形,干湿两用粒度仪公司推荐
  • glibc堆
  • 完整教程:从 “T+1” 到 “秒级”:MySQL+Flink+Doris 构建实时数据分析全链路
  • 平均数
  • 质数表
  • 小作业 11
  • 深入解析:【RabbitMQ】原理解析
  • 一次insert插入多条数据比insert循环插入数据效率高多少?
  • 内存映射文件
  • 详细介绍:Java安全“幽灵”:深入剖析内存马的原理、注入与查杀
  • 2025波形护栏厂家 TOP 企业品牌推荐排行榜,山东波形护栏防撞,三波,二波,双波,喷塑,公路,热浸锌,浸塑,镀锌波形护栏公司推荐!
  • 好数
  • 2025.10 做题记录
  • 页面分配策略
  • 2025防火皮革厂家TOP企业品牌推荐排行榜,B1级防火皮革,建筑防火皮革,审讯室防火皮革,邮轮级防火皮革,软包防火皮革公司推荐
  • 最强AI图片变视频工具,无内容限制,偷偷下载收藏
  • 2025年电子设备行业最受欢迎的5款CRM推荐
  • 2025年铝板厂家TOP企业品牌推荐排行榜,1060铝板,1100铝板,3003铝板,3004铝板,5052铝板,5083铝板,6061铝板,6063铝板,6082铝板公司推荐!
  • 2025年防撞软包厂家TOP企业品牌推荐排行榜,询问室,幼儿园,B1墙板,防撞软包门防火墙板,阻燃墙板,防撞软包家具,桌椅,马桶,洗手盆公司推荐
  • HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容——错误代码:0x00000000 - 教程
  • 2025年防撞软包厂家TOP企业品牌推荐排行榜,谈话室,留置病房,教育中心,体育馆,约谈室,监察机构,墙体,阻燃,醒酒室,墙面,洽谈室,留置室,防撞软包洽谈桌公司推荐
  • MySQL 全量 + 增量备份脚本(RPM 安装)实践与疑问解析
  • 2025最新展会搭建公司推荐排行榜:服务商创意定制与全流程服务能力深度解析
  • 10 3