![[인프런 워밍업 클럽 4기 - DevOps] 미션 4. PV/PVC, Deployment등](https://cdn.inflearn.com/public/files/blogs/4ff8062b-8341-4c30-adfa-43f1533508f2/워밍업 4기 DevOps.png)
[인프런 워밍업 클럽 4기 - DevOps] 미션 4. PV/PVC, Deployment등
3개월 전
1-1. PV, PVC - local
동작 확인
1-2. PV, PVC - hostPath 동작 확인
대시보드 > 디플로이먼트 > 편집으로 아래 구문 수정, 기존 레플리카 셋 제거
# spec > template > spec > volumes
persistentVolumeClaim: # 제거
claimName: api-tester-1231-files # 제거
hostPath: # 추가
path: /root/k8s-local-volume/1231 # 추가
동작 확인
2-1. Deployment - RollingUpdate
minReplica 2로 바꾸기
동작 확인
배포되는 동안 두 버전이 공존
2-2. Deployment - RollingUpdate (maxUnavailable: 0%, maxSurge: 100%)
대시보드 > 디플로이먼트 > 편집으로 아래 구문 수정
# spec > strategy
rollingUpdate:
maxUnavailable: 0%
maxSurge: 100%
동작 확인
블루 그린 배포와 비슷하게 버전이 한 번에 변경됨
2-3. Deployment - Recreate
대시보드 > 디플로이먼트 > 편집으로 아래 구문 수정
# spec > strategy
type: Recreate # 수정
rollingUpdate: # 삭제
maxUnavailable: 0% # 삭제
maxSurge: 100% # 삭제
동작 확인
배포 중 서비스 중단
2-4. Deployment - Rollback
동작 확인
배포 중 서비스 중단
3-1. Pod 내부에서 Service 명으로 API 호출 [서비스 디스커버리]
대시보드 > 파드 > 새로 생성된 Pod에서 Exec
3-2. Deployment에서 Pod의 ports 전체 삭제, Service targetPort를 http -> 8080으로 수정
대시보드 > 디플로이먼트 > 편집으로 아래 구문 수정
# spec > template > spec > containers
ports: # 제거
- name: http # 제거
containerPort: 8080 # 제거
protocol: TCP # 제거
대시보드 > 서비스 > 편집으로 아래 구문 수정
# spec > ports
targetPort: 8080 # 변경
대시보드 > 파드 > 새로 생성된 Pod에서 Exec
4. HPA
부하 발생
한 번에 하나 스케일링 확인
kubectl edit -n anotherclass-123 hpa api-tester-1231-default
# spec > behavior > scaleUp
stabilizationWindowSeconds: 120 # 삭제
부하 발생
빠르게 최대로 스케일링 확인
댓글을 작성해보세요.