쿠버네티스의 등장과 발전과정

쿠버네티스의 등장은 클라우드 네이티브 환경으로의 전환 과정에서 자연스럽게 나타난 흐름이다.
네트워크와 애플리케이션이 점점 Software 중심으로 바뀌면서, 이를 효율적으로 운영하기 위한 새로운 Platform이 필요해졌다.
쿠버네티스(Kubernetes, K8s)는 오픈소스 Container Orchestration Platform으로, 컨테이너화된 애플리케이션을 자동으로 배포하고 관리하기 위해 설계되었다. 2013년 도커의 등장 이후 컨테이너 기술이 빠르게 확산되었고, 이를 체계적으로 운영하기 위한 해법으로 2014년에 쿠버네티스가 공개되었다.
이후 2015년, 구글은 리눅스 재단과 협력해 CNCF를 설립하고 쿠버네티스를 핵심 시드 기술로 제공(오픈소스 공개)했다.
이를 계기로 쿠버네티스는 단일 기업의 프로젝트를 넘어, 클라우드 네이티브 생태계를 대표하는 표준 플랫폼으로 성장하게 되었다.
2020년 기준으로 전세계 기업의 83%가 쿠버네티스를 활용해 실제 서비스를 운영하고 있다.
이런 쿠버네티스의 가장 큰 강점은 대규모 애플리케이션 운영을 단순화한다는 점이다.
쿠버네티스는 컨테이너 스케줄링을 통해 자원을 효율적으로 배치하고, 상태를 지속적으로 모니터링하며, 장애가 발생하면 자동으로 복구하는 Self-healing 기능을 제공한다.
이러한 기능들은 사람이 직접 개입하지 않아도 안정적인 서비스 운영이 가능하도록 만든다.
결과적으로 쿠버네티스는 복잡해진 클라우드와 엣지 환경에서 애플리케이션과 네트워크 기능을 안정적으로 운영하기 위한 핵심 플랫폼으로 자리 잡았으며, 이러한 특성 덕분에 쿠버네티스는 5G Core, MEC, Cloud Native Network Architecture의 기반 기술로 자연스럽게 연결되고 있다.
CNCF 프로젝트

CNCF는 컨테이너, 마이크로서비스, 서비스 메시, 관측성 등 클라우드 네이티브 컴퓨팅 전반을 아우르는 다양한 오픈소스 프로젝트를 체계적으로 육성하는 단체로, 클라우드 네이티브 생태계를 대표하는 오픈소스 재단으로 자리 잡고 있다.
CNCF는 클라우드 네이티브 컴퓨팅을 위한 오픈소스 프로젝트의 중립적인 Governance를 목표로 설립되었다.
현재 144개의 프로젝트가 CNCF 산하에서 운영되고 있으며, 이는 클라우드 네이티브 기술이 단일 도구가 아니라 하나의 거대한 생태계로 발전했음을 보여준다.
CNCF 프로젝트는 성숙도에 따라 세 가지 단계로 구분된다.
- Sandbox 단계: 새로운 아이디어와 기술을 실험하는 초기 단계로, 비교적 자유로운 개발과 검증이 이루어진다.
- Incubating 단계: 사용자와 기여자가 증가하며 본격적으로 성장하는 단계로, 실제 운영 환경에서 활용 가능성이 검증된다.
- Graduated 단계: 기술적 안정성과 커뮤니티 성숙도를 모두 충족한 프로젝트로, CNCF의 공식 인증을 받은 상태를 의미한다.
Kubernetes는 CNCF 최초의 Graduated Project로 선정되며, 클라우드 네이티브 기술의 사실상 표준 플랫폼으로 자리 잡았다.
이후 다수의 핵심 프로젝트들이 Graduated 단계에 합류했고, 2025년 초 기준 CNCF는 총 34개의 Graduated Project를 보유하고 있다.
대표적인 Graduated 단계의 오픈소스 목록은 아래와 같다.

쿠버네티스가 제공하는 핵심 기능

쿠버네티스가 제공하는 주요 기능은 아래와 같이 정리할 수 있다.
- 자동 배포 및 확장 기능: 여러 서버 환경에서 애플리케이션을 자동으로 배포하며, 트래픽 증가나 부하 변화에 따라 컨테이너 수를 동적으로 확장하거나 축소한다.
- 자동 복구(Self-healing): 컨테이너나 노드에 장애가 발생하면 이를 감지해 자동으로 재시작하거나 정상 노드로 재배치함으로써 서비스 가용성을 유지한다.
- Service Discovery 및 Load Balancing 기능: 애플리케이션을 자동으로 네트워크에 노출하고, 들어오는 트래픽을 여러 컨테이너로 균형 있게 분산한다.
- 무중단 Rolling Update 및 RollBack: 서비스 중단 없이 새로운 버전으로 점진적 업데이트가 가능하며, 문제가 발생할 경우 이전 상태로 안전하게 되돌릴 수 있다.
- Resource 효율성: CPU, 메모리, 네트워크 자원을 효율적으로 스케줄링하여 인프라 사용률을 최적화하고 불필요한 자원 낭비를 줄인다.
쿠버네티스의 핵심 아키텍처

쿠버네티스는 크게 Control Plane과 Worker Node로 구성된다.
- Control Plane
클러스터의 두뇌로, 전체 상태를 관리하고 원하는 상태를 유지한다.
구성 요소 역할 kube-apiserver 모든 요청의 진입점 (kubectl, 내부 컴포넌트 통신) etcd 클러스터 상태를 저장하는 Key-Value 저장소 kube-scheduler 새 Pod를 어떤 노드에 배치할지 결정 kube-controller-manager 노드, Pod, Deployment 등 리소스 상태를 지속적으로 관리 cloud-controller-manager (선택) AWS, GCP 등 클라우드 리소스와 연동 - Worker Node
실제 애플리케이션의 Workload를 실행하는 노드이다.
구성 요소 역할 kubelet 노드에서 Pod와 컨테이너가 정상 실행되는지 확인 kube-proxy 네트워크 통신, 서비스 디스커버리, 로드 밸런싱 Container Runtime 컨테이너 실행 엔진 (Docker, containerd 등)
다음 포스트부터는 실제 Virtual Box 환경에서 Kubernetes Cluster를 생성하고 Free5GC를 배포해볼 것.
'RAN CN 테스트베드 구축 > Free5GC on K8s (Core)' 카테고리의 다른 글
| Helm을 활용한 Free5GC 설치 방법 (Orange Opensource의 Towards5gs-helm (0) | 2026.01.06 |
|---|---|
| 쿠버네티스 클러스터 구축 방법 (K8s - Free5GC 클러스터 구축) (0) | 2026.01.06 |
| 쿠버네티스 설치 및 환경설정 방법 (K8s - Free5GC 멀티 노드 환경 구축) (0) | 2026.01.06 |
| 5G의 Service-Based Architecture와 쿠버네티스의 도입 (0) | 2026.01.06 |
| Network Slicing과 Traffic Steering의 개념 (0) | 2025.11.04 |