Kube-Scheduler

2023. 4. 8. 15:18Kubernetes

Scheduler 는 오직 어떤 노드에 어떤 pod를 띄울지를 결정한다.

실제로 node에 pod를 위치시키는건 아니고, 단지 결정만 한다. 

노드에  pod를 생성하는건 kubelet이 한다.  

 

더 구체적으로 얘기해보자.

Scheduler 는 pod를 특정 기준에 따라 pod를 어느 노드에 놓을지 결정한다.

 특정 어플리케이션 전용인 노드가 있을 수도 있다. 

 

Scheduler 는 각 pod를 보고  가장 적절한(best fit한) node 를 찾는다. 

1. pod 최소 필요 용량보다 작은 용량을 가진 노드는 필터링한다. 

ex) pod 용량 10이므로 4 node들은 제외

2. pod에 best fit 한 노드를 식별한다. 우선순위 function 을 써서 0~ 10 까지 scale을 매긴다.

12 는 10을 넣으면 2가 남고 

16은 10을 넣으면 6이 남으므로, 

4나 더 저장할 수있는 16 이 더 best fit 이다. 

wget https://storage.gooleapis.com/kubernetes-release/release/v1.13.0/bin/linux/amd64/kube-scheduler

#using kubeadmm
cat /etc/kubernetes/manifests/kube-scheduler.yaml

# running process
ps -aux | grep kube-scheduler

'Kubernetes' 카테고리의 다른 글

Kube-Proxy  (0) 2023.04.08
Kubelet  (0) 2023.04.08
Kube Controller Manager  (0) 2023.04.08
[Watch API] kube-scheduler 가 API server를 모니터링하는 방식  (0) 2023.04.08
Kube API server  (0) 2023.04.08