- 생성할 파드를 어느 노드에 배치시킬지 결정하는 결정자.
- 노드에 충분한 리소스가 존재하는지, 파드의 목적에 맞는 노드인지 체크해야함
- 주의) 노드에 파드를 생성하는 것은 kubelet의 역할이고, 스케줄러는 단지 결정만 한다.
- 어떤 기준으로 노드를 선택하는지? (일반적인 방식)
- 먼저 이 파드가 사용할 리소스를 계산(cpu 10)
- 배치할 수 없는 노드를 필터링 (4, 8 노드 제외)
- 여러 노드 중 이 파드가 배치되기 적합한 노드를 0~10점으로 점수매기고 순위를 부여
- 이 파드를 배치시킨 후 노드에 남는 리소스가 많을 수록 순위가 높아짐 (12-10=2 <<< 16-10=6)
그림 출처
- 노드 순위는 사용자 정의에 의해 달라질 수 있으며 /etc/kubernetes/manifests/kube-scheduler.yaml 파일에서 옵션을 확인할 수 있음