调度器的内部结构

internal

Posted by Boenn on October 3, 2021

internal

internal 表示调度器在进行调度操作时所需的内部结构,由多个队列实现。调度器在对 Pod 进行调度时,会从队列中取出“合适”的 Pod ,通过进行一系列的操作,最终将 Pod 调度到合适的节点。

基本概念

activeQ:包含当前等待调度 Pod 的队列

unschedulableQ:包含已经尝试过并被确定为不可调度的 Pod

podBackoffQ:已完成 backoff 的 Pod 队列

基本内容

  • heap:堆结构,用于实现调度队列中的 activeQ 和 unschedulableQ
  • event:调度器中传递的事件
  • scheduling_queue:调度队列,可以理解为包含 activeQ , unschedulableQ , podBackoffQ 的结构体。
  • cache:缓存调度时 Pod 和 node 的信息。