Azure Kubernetes Fleet Manager 스케줄러 및 일정 프레임워크
이 문서에서는 Azure Kubernetes Fleet Manager(Fleet)의 스케줄러 및 예약 프레임워크에 대한 개념을 간략히 설명합니다.
스케줄러란?
스케줄러는 ClusterResourcePlacement
를 통해 생성된 최신 ClusterSchedulingPolicySnapshot
을 기반으로 리소스 번들에 대한 예약 결정을 확정하는 주된 책임이 있는 플릿 워크로드의 핵심 구성 요소입니다.
기본적으로 스케줄러는 일괄 처리 모드로 작동하여 성능을 개선합니다. 이 모드에서는 가능한 경우 항상 ClusterResourcePlacement
의 ClusterResourceBinding
을 여러 클러스터에 바인딩합니다.
일괄 처리 모드
ClusterResourcePlacement
내의 리소스 예약에는 Kubernetes 배포 내의 Pod 예약에 비해 더 많은 종속성이 포함됩니다. 다음과 같은 두 가지 주목할 만한 차이점이 있습니다.
ClusterResourcePlacement
에서는 동일한 클러스터에서 리소스의 여러 복제본을 예약할 수 없습니다.ClusterResourcePlacement
는 단일 개체 내에서 다양한 배치 형식을 지원합니다.
자세한 내용은 오픈 소스 Fleet Scheduler 설명서를 참조 하세요.
예약 프레임워크란?
집합 예약 프레임워크는 네이티브 Kubernetes 예약 프레임워크와 거의 일치하며, 집합 워크로드를 지원하기 위해 몇 가지 수정 사항 및 맞춤형 기능이 통합되어 있습니다.
이 프레임워크의 주요 이점은 플러그 인을 스케줄러에 직접 컴파일하는 기능에 있습니다. 이 프레임워크의 API는 다양한 예약 기능을 플러그 인으로 쉽게 구현하여 가볍고 유지 관리가 손쉬운 코어를 보장합니다.
집합 스케줄러에는 다음과 같은 기본 제공 플러그 인이 통합되어 있습니다.
- 토폴로지 스프레드 플러그 인: 배치 정책의
TopologySpreadConstraints
를 지원합니다. - 클러스터 선호도 플러그 인: 배치 정책에서 선호도 절을 용이하게 합니다.
- 동일한 배치 선호도 플러그 인: 집합용으로 특별히 설계되었으며 여러 복제본이 동일한 클러스터 내에 배치되지 않도록 방지합니다.
- 클러스터 자격 플러그 인: 특정 상태 조건에 따라 클러스터 선택을 사용하도록 설정합니다.
- 테인트 및 톨러레이션 플러그 인: 클러스터의 taint 및
ClusterResourcePlacement
의 톨러레이션을 기반으로 클러스터 선택을 사용하도록 설정합니다.
자세한 내용은 오픈 소스 Fleet Scheduling Framework 설명서를 참조 하세요.
다음 단계
Azure Kubernetes Service