1. Kube Scheduler
스케쥴러는 어떤 POD가 어떤 노드로 가야하는지 결정하는 것만 한다. 실제로 파드를 노드에 배치하지는 않는다.
Kubelet이 파드를 노드에 배치하는 작업을 한다.
<사례로 보는 스케쥴러의 결정 메커니즘>
CPU:10이라는 요구사항이 있을 때, 스케쥴러는 두 단계를 거친다.
- POD에 가장 적합한 노드를 식별. 여기서 스케쥴러는 이 POD 프로필에 맞지 않는 노드를 필터링을 시도한다.
(CPU가 충분치 않은 노드 등) - 스케줄러는 노드의 순위를 매긴다. 우선순위 함수를 사용해서 0에서 10까지의 점수를 할당한다. 예를 들어, 스케쥴러는 노드의 리소스 양을 계산하고 POD를 잔여 리소스가 더 많은 노드에 배치한다.
- 이외에 커스터마이징하여 자신만의 스케쥴러를 만들 수 있다.
2. kube-scheduler-Manual 설치하기
Kubernetes release 페이지에서 kube-scheduler 바이너리를 다운로드하고 압축해제 및 서비스로 실행한다.
서비스로 실행할때, Scheduler configration file을 지정해준다.
$ wget https://storage.googleapis.com/kubernetes-release/release/v1.13.0/bin/linux/amd64/kube-scheduler
3. kube-scheduler 옵션보기
'Computer Science > Kubernetes 정리' 카테고리의 다른 글
Kubernetes 정리 7 : Deployments (0) | 2023.02.15 |
---|---|
Kubernetes 정리 5 : ReplicaSets (0) | 2023.02.15 |
Kubernetes 정리 3 : Kube Controller Manager (0) | 2023.02.13 |
Kubernetes 정리 2 : Kube-API Server (0) | 2023.02.12 |
Kubernetes 정리 1 : Kubernetes용어정리 (0) | 2023.02.12 |