STUDY

웹 개발 파이프라인 구축 - 쿠버네티스

Lim임 2025. 12. 16. 23:40

쿠버네티스(Kubernetes, 보통 K8s)는
컨테이너화된 애플리케이션을 자동으로 배포·확장·관리해주는 오케스트레이션 플랫폼이야.


왜 쿠버네티스가 필요할까?

컨테이너(Docker 등)를 쓰면 이런 문제가 생겨:

  • 컨테이너가 수십~수백 개가 됨
  • 서버가 죽으면 컨테이너도 같이 죽음
  • 트래픽 많아지면 복제본을 늘려야 함
  • 배포 중 서비스가 끊기면 안 됨

 이걸 자동으로 처리해주는 게 쿠버네티스야.


한 줄 요약

쿠버네티스 = “컨테이너를 알아서 잘 굴려주는 운영 매니저”


핵심 기능

 자동 배포 & 복구

  • 컨테이너가 죽으면 자동 재시작
  • 노드(서버)가 죽으면 다른 노드로 이동

 스케일링

  • 트래픽 ↑ → 컨테이너 자동 증가
  • 트래픽 ↓ → 자동 감소

 무중단 배포

  • 새 버전 배포 시 기존 트래픽 유지
  • 롤링 업데이트 지원

서비스 디스커버리 & 로드밸런싱

  • 컨테이너 IP가 바뀌어도 자동 연결
  • 트래픽 분산 처리

 설정 & 비밀 관리

  • 환경변수, 설정파일 관리
  • 비밀번호, 토큰을 안전하게 관리

쿠버네티스 기본 구성 요소 

🔹 Cluster

  • 쿠버네티스 전체 묶음

🔹 Node

  • 실제 서버 (VM 또는 물리 서버)

🔹 Pod ⭐️

  • 쿠버네티스의 최소 실행 단위
  • 컨테이너 1개 이상 포함
 
Pod └─ Container (Docker)

🔹 Deployment ⭐️

  • Pod의 개수와 상태를 관리
  • 배포, 롤백 담당

🔹 Service ⭐️

  • Pod들을 하나의 서비스로 묶음
  • 고정된 접근 주소 제공

🔹 Ingress

  • 외부 → 내부 서비스로 들어오는 트래픽 관리
  • 도메인 / HTTPS 설정

쿠버네티스 구조 (간단히)

 
[User] ↓ [Ingress] ↓ [Service] ↓ [Pods] ↓ [Containers]

Docker랑 차이점

DockerKubernetes
컨테이너 실행 컨테이너 관리
단일 서버 중심 다중 서버(클러스터)
수동 확장 자동 확장
배포 직접 처리 배포 전략 제공

Docker는 도구, Kubernetes는 시스템


언제 쓰면 좋을까?

✔ 마이크로서비스 아키텍처
✔ 트래픽 변동이 큰 서비스
✔ 무중단 배포가 중요한 서비스
✔ 운영 자동화가 필요한 경우

❌ 작은 개인 프로젝트
❌ 서버 1대만 쓰는 서비스


프론트엔드/웹 개발자 관점에서

서인 기준으로 보면 👀

  • 직접 다룰 일은 많지 않지만
  • **“배포 환경 이해”**로 매우 중요
  • 면접에서 자주 나옴

알아두면 좋은 수준

  • Pod / Deployment / Service 개념
  • Docker → Kubernetes 흐름
  • “왜 쿠버네티스를 쓰는지”

한 문장 면접용 답변

쿠버네티스는 컨테이너화된 애플리케이션을 자동으로 배포, 확장, 복구해주는 컨테이너 오케스트레이션 플랫폼입니다.