다음을 통해 공유


Azure Kubernetes Fleet Manager 스케줄러 및 일정 프레임워크

이 문서에서는 Azure Kubernetes Fleet Manager(Fleet)의 스케줄러 및 예약 프레임워크에 대한 개념을 간략히 설명합니다.

스케줄러란?

스케줄러는 ClusterResourcePlacement를 통해 생성된 최신 ClusterSchedulingPolicySnapshot을 기반으로 리소스 번들에 대한 예약 결정을 확정하는 주된 책임이 있는 플릿 워크로드의 핵심 구성 요소입니다.

기본적으로 스케줄러는 일괄 처리 모드로 작동하여 성능을 개선합니다. 이 모드에서는 가능한 경우 항상 ClusterResourcePlacementClusterResourceBinding을 여러 클러스터에 바인딩합니다.

일괄 처리 모드

ClusterResourcePlacement 내의 리소스 예약에는 Kubernetes 배포 내의 Pod 예약에 비해 더 많은 종속성이 포함됩니다. 다음과 같은 두 가지 주목할 만한 차이점이 있습니다.

  • ClusterResourcePlacement에서는 동일한 클러스터에서 리소스의 여러 복제본을 예약할 수 없습니다.
  • ClusterResourcePlacement는 단일 개체 내에서 다양한 배치 형식을 지원합니다.

자세한 내용은 오픈 소스 Fleet Scheduler 설명서를 참조 하세요.

예약 프레임워크란?

집합 예약 프레임워크는 네이티브 Kubernetes 예약 프레임워크와 거의 일치하며, 집합 워크로드를 지원하기 위해 몇 가지 수정 사항 및 맞춤형 기능이 통합되어 있습니다.

이 스크린샷은 집합 예약 프레임워크의 개요 다이어그램을 보여 줍니다.

이 프레임워크의 주요 이점은 플러그 인을 스케줄러에 직접 컴파일하는 기능에 있습니다. 이 프레임워크의 API는 다양한 예약 기능을 플러그 인으로 쉽게 구현하여 가볍고 유지 관리가 손쉬운 코어를 보장합니다.

집합 스케줄러에는 다음과 같은 기본 제공 플러그 인이 통합되어 있습니다.

  • 토폴로지 스프레드 플러그 인: 배치 정책의 TopologySpreadConstraints를 지원합니다.
  • 클러스터 선호도 플러그 인: 배치 정책에서 선호도 절을 용이하게 합니다.
  • 동일한 배치 선호도 플러그 인: 집합용으로 특별히 설계되었으며 여러 복제본이 동일한 클러스터 내에 배치되지 않도록 방지합니다.
  • 클러스터 자격 플러그 인: 특정 상태 조건에 따라 클러스터 선택을 사용하도록 설정합니다.
  • 테인트 및 톨러레이션 플러그 인: 클러스터의 taintClusterResourcePlacement의 톨러레이션을 기반으로 클러스터 선택을 사용하도록 설정합니다.

자세한 내용은 오픈 소스 Fleet Scheduling Framework 설명서를 참조 하세요.

다음 단계