llm-wiki wiki · sources 2026-06-14

原文:raw/kube-scheduler-simulator-architecture-analysis.md · 仓库:https://github.com/kubernetes-sigs/kube-scheduler-simulator · 优先级 P1

一句话定位

kube-scheduler-simulator 提供 Kubernetes scheduler 行为模拟和可视化,用于理解 filter/score、调度失败原因和策略效果。

核心架构图

┌────────────────────────────────────────────────────────────────────────────┐
│ Scheduler scenario                                                         │
│ Users define nodes, pods, scheduler config, and policy experiments.        │
└────────────────────────────────────────────────────────────────────────────┘
                                       │
                                       ▼
┌────────────────────────────────────────────────────────────────────────────┐
│ Simulator backend                                                          │
│ Runs scheduler logic and captures filter, score, bind, and decision        │
│ traces.                                                                    │
└────────────────────────────────────────────────────────────────────────────┘
                                       │
                                       ▼
┌────────────────────────────────────────────────────────────────────────────┐
│ Visualization frontend                                                     │
│ Shows scheduling timeline, plugin results, and object state changes.       │
└────────────────────────────────────────────────────────────────────────────┘
                                       │
                                       ▼
┌────────────────────────────────────────────────────────────────────────────┐
│ Output                                                                     │
│ Scheduler policy debugging and education without requiring a real workload │
│ cluster.                                                                   │
└────────────────────────────────────────────────────────────────────────────┘

模块分层

层 / 模块 职责
Simulator API/server Simulator API/server
Scheduler integration Scheduler integration
Frontend visualization Frontend visualization
Scenario objects nodes/pods/policies

关键数据流

用户创建模拟节点和 Pod
        │
        ▼
scheduler 执行调度周期
        │
        ▼
记录 filter/score/bind 过程
        │
        ▼
UI 展示每一步决策
        │
        ▼
用户调整策略复盘

设计决策与哲学