다중 스케줄러 접근 방식

다중 스케줄러 접근 방식 An architecture diagram generated by Archify. API 서버 · kube-apiserver · 컨트롤 플레인 API 서버 kube-apiserver 기본 스케줄러 · kube-scheduler · 컨트롤 플레인 기본 스케줄러 kube-scheduler 커스텀 스케줄러 1 · custom-scheduler-1 · 컨트롤 플레인 · custom 커스텀 스케줄러 1 custom-scheduler-1 custom 커스텀 스케줄러 2 · custom-scheduler-2 · 컨트롤 플레인 · custom 커스텀 스케줄러 2 custom-scheduler-2 custom 스케줄링 큐 · 미할당(Pending) Pod · 컨트롤 플레인 스케줄링 큐 미할당(Pending) Pod Pod · schedulerName: default-scheduler · Pod Pod schedulerName: default-scheduler Pod · schedulerName: custom-scheduler-1 · Pod Pod schedulerName: custom-scheduler-1 Pod · schedulerName: custom-scheduler-2 · Pod Pod schedulerName: custom-scheduler-2 노드 1 · 워커 노드 · 워커 노드 노드 1 워커 노드 노드 2 · 워커 노드 · 워커 노드 노드 2 워커 노드 노드 3 · 워커 노드 · 워커 노드 노드 3 워커 노드 Pod 생성 감시 Pod 선택 바인딩 컨트롤 플레인 Pod 워커 노드 Legend 프런트엔드 백엔드 서비스 클라우드 서비스 메시지 버스

다중 스케줄러 접근 방식

  • • 기본 스케줄러와 함께 커스텀 스케줄러를 같은 클러스터에서 실행한다
  • • Pod 생성 시 spec.schedulerName 필드로 어떤 스케줄러를 사용할지 지정한다

커스텀 스케줄러 동작

  • • FieldSelector spec.schedulerName=custom-scheduler,spec.nodeName= 으로 미할당 Pod를 조회한다
  • • 노드를 선택한 뒤 Pod를 노드에 바인딩한다