쿠버네티스(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 흐름
- “왜 쿠버네티스를 쓰는지”
한 문장 면접용 답변
쿠버네티스는 컨테이너화된 애플리케이션을 자동으로 배포, 확장, 복구해주는 컨테이너 오케스트레이션 플랫폼입니다.
'STUDY' 카테고리의 다른 글
| 웹 개발 파이프라인 구축 - 젠킨스 (1) | 2025.12.17 |
|---|---|
| CI/CD Jenkins Docker Kubernetes (1) | 2025.12.17 |
| 웹 개발 파이프라인 구축 - 도커 (0) | 2025.12.15 |
| 오픈소스(5) (0) | 2025.12.14 |
| 오픈소스(4) + mongoDB, elasticsearch 라이선스 논란 (0) | 2025.12.12 |