본문으로 건너뛰기

컨테이너 · 쿠버네티스 (Container · Kubernetes)

I. 개요​

  • 컨테이너: 애플리케이션과 실행에 필요한 라이브러리를 하나의 패키지(이미지) 로 묶어, OS 커널을 공유하며 격리 실행하는 경량 가상화 기술(대표: Docker).
  • 쿠버네티스(K8s): 다수의 컨테이너를 자동 배포·확장·운영(오케스트레이션) 하는 플랫폼. 구글이 개발, CNCF 표준.
  • 필요성: 컨테이너가 수백·수천 개가 되면 수동 관리는 불가능 → 자동 스케줄링·복구·확장이 필요.

II. 개념도 · 구성요소​

[Control Plane]
API Server · etcd(상태저장) · Scheduler · Controller Manager
│
┌────┴────┬─────────┐
[Node1] [Node2] [Node3] ← Worker Node
Pod Pod Pod Pod (kubelet · kube-proxy · 컨테이너런타임)
요소역할
Pod배포 최소 단위(컨테이너 1개 이상)
NodePod가 실행되는 워커 머신
DeploymentPod의 배포·롤링업데이트·복제 관리
ServicePod 집합에 고정 접근점(로드밸런싱)
etcd클러스터 상태 저장소
SchedulerPod를 어느 Node에 배치할지 결정

III. 핵심 기능​

  • 자동 스케일링: 부하에 따라 Pod 수 조절(HPA)
  • 자가 치유: 죽은 Pod 자동 재시작·재배치
  • 롤링 업데이트·롤백: 무중단 배포
  • 선언적 관리: 원하는 상태(YAML)를 선언하면 K8s가 맞춤

IV. 특징 · 장단점​

구분내용
장점이식성, 자원 효율, 자동 확장·복구, 빠른 배포
단점학습·운영 난이도 높음, 복잡한 네트워킹·보안 설정
고려사항관리형 서비스(EKS·GKE·AKS)로 운영 부담 완화

V. 비교 — VM vs 컨테이너​

구분가상머신(VM)컨테이너
격리하이퍼바이저, Guest OSOS 커널 공유
크기수 GB수십~수백 MB
부팅수십 초수 초 이내
자원무거움가벼움

VI. 적용 · 실무 관점​

  • MSA의 실행 기반. 각 마이크로서비스를 컨테이너로 패키징하고 K8s로 운영. 관련: MSA
  • 보안 관점: 이미지 취약점 스캔, 최소 권한 RBAC, 네트워크 정책, 시크릿 관리, 런타임 위협 탐지. 제로트러스트·서비스 메시(mTLS)와 결합.

VII. 결론​

  • 컨테이너는 패키징·이식성, 쿠버네티스는 대규모 운영 자동화를 담당한다.
  • 클라우드 네이티브의 핵심 인프라이며, 보안은 이미지·설정·런타임 전 단계에서 함께 설계해야 한다.