A Performance Analysis on Auto Scaling Using Different Image Pulling Methods in Kubernetes
Korea Computer Congress (KCC 2023)
파드 수를 늘리기로 결정해도 이미지 다운로드가 끝나야 요청을 처리할 수 있습니다. 이미지가 준비된 노드와 그렇지 않은 노드에서 실제 확장이 완료되는 시간을 비교했습니다.
- 역할
- 제1저자 · 이미지 사전 준비와 오토스케일링 성능 연구
- 핵심 결과
- 500MB 이미지·HPA 임계값 30·50·70%에서 사전 풀링으로 스케일링 시간 각각 38.21%·36.46%·65.78% 감소.
배경
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저자로 수행한 연구입니다.