이번 포스트에서는 쿠버네티스의 스케줄링에 대해서 다룬다. 사실 전혀 어렵지 않은 내용인데, 기록하지 않으면 잊을 것 같다.
(틀린 내용 있을 수 있음) 가상화 기술이 클라우드 기술의 뿌리라고 한다면, 스케줄링은 클라우드의 꽃이라고 말할 수 있지 않을까. 1. 쿠버네티스의 스케줄링 원리 Pod를 생성할 때 Pod의 spec에 여러 조건을 추가함으로써 원하는 노드에 할당할 수 있으며, 쿠버네티스에서는 kube-scheduler 라는 이름의 컴포넌트가 Pod가 할당 될 노드를 결정합니다. kube-scheduler는 kube-system 네임스페이스에 실행 중인 Pod로서 존재하기 때문에 직접 스케줄러의 존재를 확인할 수도 있습니다.
아래와 같이 kube-scheduler의 pod를 describe 해 보면, Priority 값이 시스템 컴포넌트 레벨로 설정되어 있는 것을 알 수 있습니다. 스케줄링이라고 하면 보통 복잡한 절차를 걸쳐 수행될 것 같지만, 그 원리는 의외로 어렵지 않습니다....