RSS 쿠버네티스 블로그
팔로우
쿠버네티스 스케줄러 시뮬레이터 소개
쿠버네티스 스케줄러는 파드가 실행할 노드를 결정하는 중요한 구성 요소로, 다양한 요소를 고려하기 때문에 그 동작을 이해하는 것이 어려울 수 있습니다. kube-scheduler-simulator는 스케줄러의 동작 및 결정 사항을 면밀하게 살펴볼 수 있는 도구로, 캐주얼 사용자와 스케줄러를 사용자 지정 플러그인으로 확장하는 전문가 모두에게 유용합니다. 이 시뮬레이터는 초기에 Google Summer of Code 2021 프로젝트로 개발되었으며, 이후 수많은 기여를 받았습니다. 사용자는 스케줄링 제약, 스케줄러 구성 및 사용자 지정 플러그인을 테스트하면서 스케줄링 결정의 모든 세부 부분을 확인할 수 있습니다. 시뮬레이터는 또한 사용자가 실제 클러스터와 동일한 리소스를 사용하여 실제 워크로드에 영향을 주지 않고 시뮬레이티드 클러스터 환경을 생성할 수 있습니다. 시뮬레이터의 핵심 기능은 스케줄러의 내부 결정 사항을 노출하는 것이며, 웹 프론트엔드를 통해 스케줄링 결과를 시각화합니다. 사용자는 디버깅 가능한 스케줄러에 사용자 지정 플러그인 또는 확장자를 통합하고 결과를 시각화할 수 있습니다. 시뮬레이터는 독립적으로 실행할 수도 있어, 사용자 지정 플러그인 개발자가 실제 클러스터에서 더 나은 디버깅 가능성을 갖추어 플러그인을 테스트하거나 사용자 지정 스케줄러를 검사하는 데 유용합니다. 시뮬레이터의 가져오기 기능을 사용하여 사용자는 프로덕션 환경에서 새로운 스케줄러 버전을 배포하는 것을 시뮬레이션할 수 있습니다. 시뮬레이터는 다양한 사용 사례를 가지고 있으며, 스케줄링 제약을 살펴보거나 스케줄러 구성의 변경을 평가하거나 사용자 지정 스케줄러 플러그인 또는 확장자를 테스트하는 데 사용할 수 있습니다. 시뮬레이터를 시작하려면 사용자는 머신에 Docker만 설치하면 되며, http://localhost:3000에서 시뮬레이터의 웹 UI에 액세스할 수 있습니다.