> For the complete documentation index, see [llms.txt](https://blog.deepdivers.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://blog.deepdivers.dev/kubernetes-scheduler/1.md).

# (1) 스케줄러 동작 원리와 Scheduling Framework 이해

:point\_right: [Facebook 공유하기](https://www.facebook.com/sharer/sharer.php?u=https://deepdivers.gitbook.io/kubernetes-scheduler/1) | [Twitter 공유하기](https://twitter.com/intent/tweet?url=https://deepdivers.gitbook.io/kubernetes-scheduler/1)

## 슬라이드

{% embed url="<https://docs.google.com/presentation/d/1fOv48HTSbhui1W-avi97Fy2M9sICMRNKXaCmqJ9GAyA/edit?usp=sharing>" %}
[\[Google Slide에서 보기\]](https://docs.google.com/presentation/d/1fOv48HTSbhui1W-avi97Fy2M9sICMRNKXaCmqJ9GAyA/edit?usp=sharing)
{% endembed %}

Kubernetes 스케줄러는 워크로드의 요구조건과 가용한 자원 상태에 따라 Pod를 최적의 Node에 배치하는 핵심적인 역할을 합니다. 또한 스케줄러는 다양하고 복잡한 요구조건에 유연하게 대응할 수 있도록, 확장 기능을 구현하기 위한 Scheduling Framework를 제공하고 있습니다.

이 슬라이드에서는 스케줄러의 역할과 동작 원리를 깊게 이해하며, 스케줄러의 기능들을 구현하는 여러가지 플러그인 코드와 함께 Scheduling Framework를 살펴봅니다.

### 목차

1. Kubernetes Scheduler의 역할
2. Kubernetes Scheduler의 동작 원리
   * 스케줄링의 3단계 과정 - Filter, Score, Bind
   * Scheduling context (Scheduling cycle, Bind cycle)
   * Optimistic Binding
   * 스케줄러 전체 동작 흐름
3. 확장 가능한 Scheduler
   * 여러 가지 Scheduler 확장 방식(Scheduler Extender, Scheduling Framework)
   * Scheduling Framework 이해
     * Plugin 코드와 함께 살펴보는 Extension Points

## 후속편 예고

* Scheduler Queue 내부 구조와 동작
* Scheduler 성능 튜닝
