스케줄러 작동 방식

스케줄러 작동 방식 An architecture diagram generated by Archify. API 서버 · Pod 생성 이벤트 발생 · Architecture component API 서버 Pod 생성 이벤트 발생 스케줄링 큐 · 스케줄링 대기 Pod · Architecture component 스케줄링 큐 스케줄링 대기 Pod kube-scheduler · 스케줄링 사이클 실행 · Architecture component kube-scheduler 스케줄링 사이클 실행 필터 플러그인 · 실행 불가 노드 제외 · Architecture component 필터 플러그인 실행 불가 노드 제외 스코어 플러그인 · 노드별 점수 부여 · Architecture component 스코어 플러그인 노드별 점수 부여 최적 노드 선택 · 최고 점수 노드 · Architecture component 최적 노드 선택 최고 점수 노드 바인딩 요청 · API 서버에 바인딩 업데이트 · Architecture component 바인딩 요청 API 서버에 바인딩 업데이트 노드 · Pod 실행 · Architecture component 노드 Pod 실행 Pod 생성 이벤트 Pod 선택 필터링 필터링된 노드 노드 점수 바인딩 Pod 바인딩 Legend 백엔드 서비스 클라우드 서비스 메시지 버스

필터 플러그인

  • • NodeResourcesFit: 노드의 리소스 용량 확인
  • • NodeName: Pod의 nodeName 필드 확인
  • • NodeUnschedulable: 노드의 스케줄 가능 여부 확인
  • • TaintToleration: 테인트와 톨러레이션 확인

스코어 플러그인

  • • NodeResourcesBalancedAllocation: 리소스 사용 균형 고려
  • • ImageLocality: 이미지 지역성 고려
  • • InterPodAffinity: Pod 간 어피니티 고려
  • • NodeAffinity: 노드 어피니티 고려