IT/CKA

CKA 준비과정 - Scheduling (1)

Primes 2023. 5. 13. 20:32
728x90

Scheduler 동작방식

- 클러스터에 스케쥴러가 없다고 가정할 때, 직접 스케줄링을 해 본다고 생각하자.

- pod-definition.yaml 파일을 통해 파드를 생성한다.

- 모든 pod에는 nodeName 이라는 필드를 가진다. 해당 필드는 쿠버테니스가 일반적으로는 자동으로 추가하므로, 필드를 별도로 지정하진 않지만. 스케쥴러가 없다고 가정하기 때문에 직접 작성한다.

- 스케줄러는 자동으로 각 파드에 적합한 노드를 바인딩한다. 하지만 스케줄러가 없다면, 위와같이 nodeName을 지정하여 직접 바인딩할 수 있도록 한다. 

 

- nodeName은 파드 생성 시에만 지정할 수 있다.

- 그렇다면 기 생성된 파드에 노드를 할당하고 싶을 경우에는, API를 활용한다.

=> binding 개체를 생성하고 API에 요청을 보낸다. 이는 실제로 스케줄러가 바인딩 하는 과정을 직접 수행하는 것과 비슷하다고 이해할 수 있다.

=> 상기 이미지에서 pod-bind-defintionl.yaml 파일을 통해 binding 객체를 생성하고, POST request를 보낸다. 이 때, 반드시 JSON포맷으로 yaml파일을 변환하는 과정을 거쳐야 한다.

 

반응형