티스토리 뷰
✅ 압박면접 대응 시리즈 26편: Kubernetes 핵심 개념과 실무 구성 요소 (Pod, Service, Deployment)
octo54 2025. 10. 30. 12:30✅ 압박면접 대응 시리즈 26편: Kubernetes 핵심 개념과 실무 구성 요소 (Pod, Service, Deployment)
압박면접에서 “쿠버네티스 써보셨나요?”는 사실상 “운영 자동화를 이해하고 있나요?”라는 질문입니다.
단순히 Pod과 Node의 정의를 아는 게 아니라,
“왜 Docker만으로는 부족했는가?”
“Kubernetes가 DevOps 환경에서 어떤 가치를 주는가?”
를 설명할 수 있어야 진짜 시니어 레벨로 평가받습니다.
이번 글에서는 쿠버네티스의 핵심 개념, 주요 구성 요소, 실무 적용 사례,
그리고 면접 답변 포인트까지 정리합니다.
📌 1. 쿠버네티스란?
Kubernetes(줄여서 K8s)는 컨테이너화된 애플리케이션을 자동으로 배포, 확장, 복구하는 컨테이너 오케스트레이션 플랫폼입니다.
✅ 주요 기능
- 자동 배포 (Rolling Update)
- 자동 복구 (Self-healing)
- 서비스 디스커버리 (Service)
- 로드 밸런싱
- 자동 스케일링 (HPA)
📌 핵심 개념:
“Kubernetes는 컨테이너를 ‘운영 가능한 수준’으로 끌어올린 자동화 플랫폼이다.”
📌 2. 쿠버네티스 아키텍처 구조
graph TD
A[User] --> B[API Server]
B --> C[Controller Manager]
B --> D[Scheduler]
D --> E[Node]
E --> F[Pod]
구성 요소 역할
| API Server | 모든 명령의 진입점 |
| Controller Manager | 리소스 상태를 원하는 상태로 유지 |
| Scheduler | Pod를 적절한 Node에 할당 |
| etcd | 클러스터 상태 저장소 |
| Node | 컨테이너가 실제 실행되는 서버 |
| Pod | 컨테이너 실행 단위 |
📌 3. 주요 리소스 구성 요소
✅ (1) Pod
컨테이너의 최소 실행 단위
apiVersion: v1
kind: Pod
metadata:
name: web
spec:
containers:
- name: web
image: nginx
ports:
- containerPort: 80
📌 특징:
하나의 Pod은 하나 이상의 컨테이너를 가질 수 있으며, 같은 네트워크 네임스페이스를 공유함.
✅ (2) Service
Pod는 IP가 변하기 때문에, Service가 이를 고정 주소로 매핑해줌.
apiVersion: v1
kind: Service
metadata:
name: web-service
spec:
selector:
app: web
ports:
- port: 80
targetPort: 80
type: ClusterIP
📌 Service 유형
- ClusterIP: 내부 통신용 (기본)
- NodePort: 외부에서 접근 가능
- LoadBalancer: 클라우드 로드밸런서 연결
✅ (3) Deployment
Pod의 배포와 버전 관리를 담당
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-deployment
spec:
replicas: 3
selector:
matchLabels:
app: web
template:
metadata:
labels:
app: web
spec:
containers:
- name: web
image: nginx:latest
ports:
- containerPort: 80
📌 Deployment 특징
- ReplicaSet 관리
- Rolling Update & Rollback 지원
- Scale up/down 자동화
📌 4. 실무 적용 사례
상황:
운영 중인 Docker Compose 기반 서버에서
배포 시마다 다운타임 발생 + 스케일링 한계
해결 과정:
- 모든 서비스(Nginx, NestJS, PostgreSQL, Redis)를 K8s로 이식
- Deployment + Service 구조 설계
- Ingress Controller(Nginx)로 도메인 트래픽 관리
- HPA(Horizontal Pod Autoscaler)로 부하 자동 확장
📈 결과:
- CPU 부하 시 자동 스케일링
- 배포 중 다운타임 “0”
- 운영 중 장애 발생 시 자동 복구 (Self-Healing 성공)
📌 5. 압박면접 예상 질문 & 답변 포인트
- ❓ Q. Pod와 Container의 차이는?
→ “Pod은 컨테이너 실행 단위이며, 하나 이상의 컨테이너가 네트워크를 공유합니다.” - ❓ Q. Deployment 없이 Pod만 쓰면 안 되나요?
→ “가능은 하지만, 자동 복구·롤백·스케일링 기능이 없어 운영에는 부적합합니다.” - ❓ Q. Service와 Ingress의 차이는?
→ “Service는 내부 네트워크 접근, Ingress는 외부 트래픽 라우팅을 담당합니다.” - ❓ Q. Kubernetes가 Docker Compose보다 나은 이유는?
→ “Compose는 단일 서버 오케스트레이션, Kubernetes는 다중 서버 클러스터 관리에 최적화되어 있습니다.”
📌 6. 면접에서 활용할 한 줄 정리
“Docker Compose 기반 서비스의 운영 불안정성을 해결하기 위해
Kubernetes로 이전했습니다.
Deployment + Service 구조를 설계해 다운타임 없는 배포와 자동 스케일링을 구현했습니다.”
압박면접,Kubernetes,Pod,Service,Deployment,DevOps,컨테이너오케스트레이션,Autoscaling,Ingress,무중단배포
'AI + Career' 카테고리의 다른 글
| ✅ 압박면접 대응 시리즈 28편: API 서버 성능 최적화 방법과 모니터링 도구 (New Relic, Prometheus, Grafana) (0) | 2025.11.04 |
|---|---|
| ✅ 압박면접 대응 시리즈 27편: 서버리스(Serverless) 아키텍처 개념과 적합한 활용 사례 (0) | 2025.11.03 |
| ✅ 압박면접 대응 시리즈 25편: CI/CD 파이프라인 구조와 GitHub Actions 실무 자동화 전략 (0) | 2025.10.29 |
| ✅ 압박면접 대응 시리즈 24편: Docker 컨테이너 vs 가상머신(VM)의 차이와 DevOps 활용 전략 (0) | 2025.10.28 |
| ✅ 압박면접 대응 시리즈 23편: API 인증 방식 비교 — API Key, OAuth 2.0, JWT 선택 기준 (0) | 2025.10.27 |
- Total
- Today
- Yesterday
- LangChain
- 딥러닝
- DevOps
- Express
- Next.js
- PostgreSQL
- fastapi
- kotlin
- seo 최적화 10개
- 생성형AI
- rag
- Prisma
- flax
- 개발블로그
- CI/CD
- nextJS
- SEO최적화
- 쿠버네티스
- Redis
- Python
- JWT
- JAX
- node.js
- 웹개발
- llm
- Docker
- REACT
- NestJS
- ai철학
- 백엔드개발
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |

