이번 실습에서는 쿠버네티스에서 Deployment를 이용한 애플리케이션 배포와 관리, 그리고 버전 업데이트, 롤백, 이미지 프리로드 등의 실전 스킬을 익혔습니다.
Deployment는 다음 기능을 제공합니다:
✅ ReplicaSet과 거의 동일하지만, Deployment는 업데이트/롤백 기능까지 포함된 상위 리소스입니다.
apiVersion: apps/v1
kind: Deployment
metadata:
name: aws9deploy
spec:
replicas: 4
selector:
matchLabels:
app: web # (1) 아래 Pod 템플릿과 일치해야 함
template:
metadata:
labels:
app: web # (1)과 동일해야 함!
spec:
containers:
- name: aws9ctn
image: brian24/aws9:bluer
kubectl apply -f aws9deploy.yml
만약 이미지가 정상적으로 pull되지 않으면 아래 명령어로 삭제 후 조치합니다:
kubectl delete -f aws9deploy.yml
그리고 모든 노드에서 수동으로 이미지 pull:
docker pull brian24/aws9:blue
docker pull brian24/aws9:green
다시 적용:
kubectl apply -f aws9deploy.yml
kubectl rollout status deploy aws9deploy
배포 히스토리 확인:
kubectl rollout history deploy aws9deploy
kubectl set image deploy aws9deploy aws9ctn=brian24/aws9:green
업데이트 후 실제 Pod와 ReplicaSet 확인:
kubectl get pod,rs,deploy
curl <Pod IP>
예:
curl 192.168.104.5
출력:
<font color="green">GREEN PAGE</font>
kubectl rollout undo deploy aws9deploy
이전 버전으로 쉽게 복구됩니다.
kubectl describe deploy aws9deploy
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
strategy:
type: Recreate
Deployment는 실무에서 **지속적 배포(CD)**에 꼭 필요한 기능입니다.
이번 실습에서는 Deployment의 기초부터 업데이트/롤백, 전략 설정까지 중요한 부분을 다뤘습니다.
쿠버네티스에서 Deployment를 잘 활용하면 안정적이고 유연한 서비스 배포가 가능합니다.
선언형 배포 + 자동화된 롤링 업데이트 = 😎 실무 필수 스킬!
🌀 Kubernetes 실습: Blue/Green Deployment (with LoadBalancer Service) (1) | 2025.04.15 |
---|---|
Kubernetes 배포 기본 개념 및 실습 정리 (1) | 2025.04.15 |
25.04.14. 쿠버네티스 실습 정리 (1) | 2025.04.14 |
25.04.11. Kubernetes (1) | 2025.04.11 |
25.04.01. Docker Swarm && Kubenetes (0) | 2025.04.01 |