# (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 성능 튜닝


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://blog.deepdivers.dev/kubernetes-scheduler/1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
