RSS 쿠버네티스 블로그
팔로우
쿠버네티스 v1.36: 워크로드 인식 스케줄링의 발전
Kubernetes v1.35는 Workload API와 동일한 Pod에 대한 기본적인 gang scheduling을 포함한 워크로드 인식 스케줄링 개선 사항을 도입했습니다. Kubernetes v1.36은 Workload API(정적 템플릿)를 새로운 PodGroup API(런타임 상태)와 분리하여 이 아키텍처를 개선합니다. 이 분리는 kube-scheduler를 간소화하여 향상된 성능을 위해 PodGroup 정보를 직접 읽을 수 있도록 합니다.새로운 PodGroup 스케줄링 사이클은 워크로드의 원자적 처리를 허용하여 전체 그룹을 단일 작업으로 평가하여 교착 상태를 방지합니다. 유효한 배치 위치가 발견되고 그룹 제약 조건이 충족되면 Pod가 함께 바인딩됩니다. 그렇지 않으면 전체 그룹이 스케줄링할 수 없는 것으로 간주되고 나중에 다시 시도됩니다. 이는 엄격한 워크로드 요구 사항에 대한 올인원 배치를 보장하는 gang scheduling의 기반을 형성합니다.v1.36의 토폴로지 인식 스케줄링은 PodGroups에 토폴로지 제약 조건을 정의하여 특정 물리적 또는 논리적 도메인 내에 Pod를 공동 배치하여 네트워크 지연 시간을 줄일 수 있도록 합니다. 여기에는 스케줄링 제약 조건을 기반으로 후보 배치 위치를 생성, 평가 및 점수 매기기가 포함됩니다.워크로드 인식 선점은 PodGroup 스케줄링 사이클을 지원하기 위해 도입되었으며, 전체 PodGroup을 위한 공간을 확보하기 위해 여러 노드에서 동시에 Pod를 선점합니다. PodGroup을 단일 선점 단위로 취급하며, PodGroup 우선순위 및 disruptionMode 필드가 선점 동작을 제어합니다.마지막으로 v1.36은 동적 리소스 할당(DRA)을 Workload API와 통합하여 PodGroups가 ResourceClaims를 통해 특수 하드웨어 리소스를 요청하고 공유할 수 있도록 합니다. 이러한 발전은 향후 Kubernetes 릴리스에서 고급 워크로드 스케줄링 기능을 구축하기 위한 강력한 기반을 마련합니다.