728x90
Scheduler 동작방식
- 클러스터에 스케쥴러가 없다고 가정할 때, 직접 스케줄링을 해 본다고 생각하자.
- pod-definition.yaml 파일을 통해 파드를 생성한다.
- 모든 pod에는 nodeName 이라는 필드를 가진다. 해당 필드는 쿠버테니스가 일반적으로는 자동으로 추가하므로, 필드를 별도로 지정하진 않지만. 스케쥴러가 없다고 가정하기 때문에 직접 작성한다.
- 스케줄러는 자동으로 각 파드에 적합한 노드를 바인딩한다. 하지만 스케줄러가 없다면, 위와같이 nodeName을 지정하여 직접 바인딩할 수 있도록 한다.
- nodeName은 파드 생성 시에만 지정할 수 있다.
- 그렇다면 기 생성된 파드에 노드를 할당하고 싶을 경우에는, API를 활용한다.
=> binding 개체를 생성하고 API에 요청을 보낸다. 이는 실제로 스케줄러가 바인딩 하는 과정을 직접 수행하는 것과 비슷하다고 이해할 수 있다.
=> 상기 이미지에서 pod-bind-defintionl.yaml 파일을 통해 binding 객체를 생성하고, POST request를 보낸다. 이 때, 반드시 JSON포맷으로 yaml파일을 변환하는 과정을 거쳐야 한다.
반응형
'IT > CKA' 카테고리의 다른 글
CKA 준비과정 - Scheduling (3) / Taints and Tolerations (1) | 2023.05.14 |
---|---|
CKA 준비과정 - Scheduling (2) / Labels and Selectors (0) | 2023.05.13 |
CKA 준비과정 - Kubernetes 개념 (8) / Imperative vs Declarative (0) | 2023.05.09 |
CKA 준비과정 - Kubernetes 개념 (7) / Namespaces (0) | 2023.05.06 |
CKA 준비과정 - Kubernetes 개념 (6) / Services (0) | 2023.05.01 |