Cloud & Edge 인프라/Cloud & Edge Computing

Edge에서 컨테이너와 쿠버네티스의 역할

gksyb4235 2025. 10. 10. 17:59

Edge에서의 Container의 역할


 

애플리케이션 배포 환경의 변화(Traditional Development) 출처 : https://kubernetes.io/ko

 

Edge Application이 가능하도록 하는 가장 중요한 Mechanism이 Container의 개념이다.

Container는 모듈형 및 이식성 높은 배포를 위해 필수적이다.

 

컨테이너란 애플리케이션 코드, Library, Runtime 종속성을 하나의 독립된 단위로 패키징한

경량의 이식 가능한 소프트웨어 패키지이다.

이를 통해 클라우드, 엣지, 로컬 개발 환경 등 어디서나 일관된 실행 환경을 제공한다.

 

Edge Cloud를 위한 Container의 주요 이점은 다음으로 정리할 수 있다.

 

모듈형 배포
(Modular Deployment)
애플리케이션을 마이크로서비스 단위로 분할 가능- 개발, 테스트, 롤아웃(배포) 과정 단축
예: 비디오 분석 서비스를 독립된 마이크로서비스로 컨테이너화
재현성 (Reproducibility) 모든 노드에서 동일한 동작 보장- “It works on my machine” 문제 제거
→ 다양한 하드웨어 환경에서도 안정적 실행
엣지 이식성 (Edge Portability) x86, ARM 등 다양한 하드웨어와 엣지·클라우드 계층에서 배포 가능
예: 스마트 교통 시스템용 트래픽 분석 컨테이너가 엣지 게이트웨이에서도 동일하게 작동
빠른 시작과 낮은 오버헤드
(Fast Startup & Low Overhead)
VM과 달리 몇 초 내에 실행 가능하며, CPU·메모리 사용량이 적음
→ 자원이 제한된 엣지 장치에 이상적
간소화된 오케스트레이션
(Simplified Orchestration)
Kubernetes, K3s, KubeEdge 같은 도구로 수천 개 엣지 컨테이너를 중앙에서 관리 가능

 

 

 

Edge Cloud 배포에서 Kubernetes의 역할


 

실제 Operation 환경에서는 굉장히 다양한 Container가 동작하게 된다.

이때 Container들을 어떻게 관리할지가 굉장히 중요한 이슈가 된다.

 

컨테이너 오케스트레이션이란 클러스터 전반에서 컨테이너화된 애플리케이션을 자동으로 배포·스케일링·모니터링·복구하는 관리 과정이다. 즉, 컨테이너 워크로드의 자동화된 생애주기를 관리하는 것이라고 보면 된다.

 

Kubernetes는 산업에서 이제 표준이 된 컨테이너 오케스트레이션 플랫폼이다.

다음과 같은 구성요소로 동작한다.

 

  • Node: Pod가 실행되는 물리/가상 머신
  • Control Plane: 스케줄링, 스케일링, 헬스체크 등의 의사결정 수행
  • Scheduler: 워크로드를 최적의 노드에 할당
  • Kubelet: 노드에서 컨테이너가 정상 동작하는지 확인

 

Kubernetes와 같은 오케스트레이션이 Edge에서 중요한 이유는 다음과 같이 정리할 수 있다.

확장성 및 자동화
(Scalability & Automation)
수백~수천 개 노드를 관리해야 하는 엣지 환경에서 배포, 헬스체크, 복구를 자동화
복원력 및 자가 치유
(Resilience & Self-Healing)
네트워크 불안정 시 장애를 자동 감지하고 재시작
롤링 업데이트 및 롤백
(Rolling Updates & Rollbacks)
무중단 업데이트 및 문제 발생 시 자동 롤백예: 엣지 게이트웨이에 AI 모델을 실시간 업데이트
자원 최적화
(Resource Optimization)
CPU·메모리·네트워크 자원 상태에 따라 워크로드 자동 분배
예: GPU가 있는 노드에 AI 워크로드 배치
위치 인식 스케줄링
(Location-Aware Scheduling)
지리적 위치나 네트워크 인접성을 고려해 노드를 선택→ 저지연 애플리케이션에 필수

 

 

그러나 Kubernetes는 Edge에서 동작하기에는 굉장히 무겁다.

이를 위해 Edge에서 동작할 수 있도록 경량화된 Kubernetes가 있는데, 다음과 같다.

각각 KubeEdge 아키텍처와 K3S 아키텍처

 

 

KubeEdge는 오픈소스 플랫폼으로, Kubernetes의 기능을 엣지 컴퓨팅 환경으로 확장합니다.
이를 통해 컨테이너화된 애플리케이션과 디바이스 관리의 클라우드–엣지 간 원활한 오케스트레이션을 가능하게 한다.

 

이와 유사한 K3S는 경량화되고 완전한 Kubernetes 배포판으로,

엣지 디바이스, IoT 시스템, 단일 보드 컴퓨터, 개발 환경 등 리소스가 제한된 환경에서도 효율적으로 실행되도록 설계되었다.

 

KubeEdge Architecture - 오픈소스 플랫폼으로, Kubernetes의 기능을 엣지 컴퓨팅 환경까지 확장
- 컨테이너화된 애플리케이션 및 디바이스 관리를 클라우드–엣지 간에 매끄럽게 수행
- 클라우드 컨트롤 플레인과 엣지 노드 간 데이터 동기화, 이벤트 처리, 장치 관리 지원
K3s Architecture - 완전한 Kubernetes 호환 경량 배포판
- 리소스 제약이 있는 엣지 장치, IoT 시스템, 싱글보드 컴퓨터, 개발 환경에서 효율적으로 실행되도록 설계
- 서버와 에이전트 노드 구조로 구성되어 외부 트래픽도 로드밸런싱 가능