
이름도 참 어려운 Kubernetes... (처음에 들었을 땐 네카라쿠배 이런건줄;;)
아무튼 지난 Docker 실습에 이어 Kubernetes 실습도 진행해보겠다.
실습 목표
Kubernetes
- Docker와의 차이점?
- Pob / Deployment / Service 개념
Docker와의 차이?
Docker 이미지는 애플리케이션 실행 단위이고,
Kubernetes는 동일한 이미지를 기반으로 여러 컨테이너를 생성 ⦁ 관리 한다.

Docker Desktop을 보면 Kubernetes가 함께 있는 것을 볼 수 있다.
Kubernetes 실습
1. 이전 docker 실습을 진행한 폴더에서 실습을 진행한다.
2. deployment YAML을 작성한다. (deploy.yaml)
Deployment는 Pod을 관리하는 운영자이다.
sepc에서 이 Deployment가 어떻게 동작할지 설정한다.
- 'replicas: 2' - Pod 2개를 항상 유지한다. 자동 유지 개수라고 이해하면 된다.
- 'selector' - 내가 관리할 Pod은 누구? 현재 'app=hello'인 Pod만 관리하기로 설정했다.
- 'template' - Pod 설계도
- 'spec: containers:' - Pod 안에 들어갈 컨테이너들 정의
3. 아래 명령어를 입력한다.
kubectl apply -f deploy.yaml
kubectl get pods

실행 결과는 다음과 같다.
4. service로 외부 노출을 한다.
spec에서 동작 방식을 정의한다.
- 'type: NodePort' - 외부에서 접근 가능하게 열겠다.
- 'selector: app: hello' - app=hello인 Pod들을 묶겠다.
ports에서 외부 요청을 Pod 포트로 전달하는 규칙을 정의한다.
- port: Service 내부 포트
- targetPort: Pod 내부 실제 포트(Flask가 실제로 듣고 있는 포트)
- nodePort: 외부(브라우저)에서 접근할 포트
5. 아래 명령어를 입력한다.
kubectl apply -f service.yaml


Docker 이미지로 만든 서버를
Kubernetes Deployment로 여러 개 띄우고,
Service로 외부에서 접근하게 열었다.
localhost:30007로 접속 하였을 때 'Hello Docker'가 보인다.
그래서 Kubernetes를 왜 쓰는데?
먼저 이 세 개의 개념 먼저 제대로 이해해보자.
Pod / Deployment / Service
Pod = 컨테이너 묶음
Deployment = Pod 관리
Service = 네트워크 접근
=> service는 접속 창구, Deployment는 운영 관리자
만약 Docker만 사용하면 실제 실무에서는 많은 문제가 생길 수 있다.
- 컨테이너가 죽음
- 트래픽이 갑자기 증가
- 서버 업데이트
- 컨테이너 여러 개 관리
Docker만 사용한다면, 이 모든 문제들을 사람이 직접 관리해야 한다.
Kubernetes는 컨테이너 운영 자동화 시스템이다.
- 컨테이너 묶음인 Pod이 죽을 경우 자동으로 복구 해준다.
- 사용자가 몰리면 Pod의 개수를 늘려준다. (같은 이미지로 자동 생성)
- 서버 업데이트 시, Pod 하나씩 교체하여 서비스가 끊기 않게 한다. 문제가 생기면 롤백이 가능하다.
위에서 내가 한 실습으로 이해해보면
Docker는 앱 실행, Deployment에서는 '항상 2개 유지', Service는 '외부 접속은 이 주소로' 역할을 맡았는데.
Kubernetes는 이 모든 것을 대신 할 수 있다.
즉 컨테이너는 Docker로 만들고,
그 컨테이너를 안정적으로 굴리는 것은 Kubernetes이다.
정리
Docker만으로는 컨테이너 장애 대응이나 확장이 모두 수동이기 때문에 한계가 있다.
Kubernetes는 컨테이너의 상태를 선언적으로 관리하며, 자동 복구, 확장, 무중단 배포, 네트워크 관리를 제공해 서비스 운영 복잡도를 크게 줄여준다.
'Cloud, IT Infra > Docker & Kubernetes' 카테고리의 다른 글
| 운영비용 관점에서 본 docker의 Container (0) | 2026.07.14 |
|---|---|
| 이제야 알 것 같은 — Docker와 Kubernetes를 인프라 관점에서 보기 (0) | 2026.07.14 |
| 하이퍼바이저, 그리고 VM vs 컨테이너 (0) | 2026.07.13 |
| Docker 실습 (0) | 2025.12.30 |
| Docker란? (0) | 2025.11.07 |