Skip to content
← 논문으로
KCC 2023

A Performance Analysis on Auto Scaling Using Different Image Pulling Methods in Kubernetes

Donggyun Kim, Chunggeon Song, Hyungjun Kim, Heonchang Yu, JoonMin Gil

Korea Computer Congress (KCC 2023)

파드 수를 늘리기로 결정해도 이미지 다운로드가 끝나야 요청을 처리할 수 있습니다. 이미지가 준비된 노드와 그렇지 않은 노드에서 실제 확장이 완료되는 시간을 비교했습니다.

역할
제1저자 · 이미지 사전 준비와 오토스케일링 성능 연구
핵심 결과
500MB 이미지·HPA 임계값 30·50·70%에서 사전 풀링으로 스케일링 시간 각각 38.21%·36.46%·65.78% 감소.
Bar chart of pod-creation time by image-preparation type (pulled vs not) for 300MB/500MB/1GB images
이미지 준비 유형에 따른 수행 시간

배경

HPA가 부하에 따라 파드를 늘릴 때, 대상 워커 노드에 컨테이너 이미지가 없으면 원격에서 이미지를 내려받아야 합니다. 부하가 높은 스케일-업 시점에 이 풀링이 겹치면 과부하 상태가 더 길어집니다. 이 논문은 이미지가 노드에 미리 준비돼 있는지 여부가 스케일-업 성능에 미치는 영향을 정량적으로 측정했습니다.

실험

마스터 1대(Intel Core i9-10900K·DDR4 32GB·Ubuntu 20.04)와 워커 3대로 클러스터를 구성하고, php-apache 서비스에 wget으로 0.02초마다 HTTP 요청을 보내며 5분간 지표를 모니터링했습니다.

먼저 단일 파드 생성 시간을 300MB·500MB·1GB 이미지로 비교했고, 이어 이미지 500MB·HPA CPU 임계값 30·50·70 조건에서 3대 중 한 노드에만 이미지가 있는 상태로 스케일-업 시간과 CPU 사용량을 측정했습니다.

결과

컨테이너 시작 시간 중 이미지 풀링이 차지하는 비중은 이미지가 로컬에 있을 때 평균 72.8%, 없을 때 98~99%로 이미지가 클수록 커졌습니다. 이미지가 있으면 풀링은 크기와 무관하게 평균 2.12초였습니다.

이미지가 없을 때는 확장 요청 후 목표 파드 수에 도달하는 데 60초 이상 걸린 반면, 사전 준비된 경우에는 요청 직후 목표에 가까워졌습니다. 500MB 이미지와 CPU 임계값 30·50·70%에서 스케일링 시간은 각각 38.21%·36.46%·65.78%, CPU 사용량은 39.53%·31.11%·23.11% 줄었습니다.

이 결과에서 주목한 것은 확장 결정과 실제 처리 용량 확보 사이의 간격입니다. HPA는 필요한 Replica 수를 결정하고, 노드 배치와 이미지 준비는 이후 별도 단계에서 이뤄집니다. 이미지가 없는 노드에 새 파드가 배치되면 다운로드 시간이 추가되므로, 부하 패턴에 맞춘 이미지 사전 준비를 후속 과제로 제시했습니다. 제가 제1저자로 수행한 연구입니다.