Kubernetes ‐ PV & PVC, Deployment, Service, HPA - dnwls16071/Backend_Summary GitHub Wiki
📚 PV & PVC
- PV(PersistentVolume)는 클러스터 레벨의 스토리지 리소스이다.
- 관리자가 미리 프로비저닝하거나 StorageClass로 동적 생성된다.
- 실제 물리 스토리지(NFS, AWS EBS, Azure Disk 등)와 연결된다.
- PVC(PersistentVolumeClaim)는 네임스페이스 레벨의 스토리지 요청이다.
- 사용자가 필요한 용량/접근모드를 명시하며 적합한 PV와 자동 바인딩된다.
📚 Deployment
- Recreate - 전체 중단 후 재생성
- 기존 Pod 전체 삭제 → 새 Pod 생성
- 다운타임 발생하지만 단순하고 빠름
- RollingUpdate - 무중단 배포
- 기존 Pod를 단계적으로 새 버전으로 교체
- maxUnavailable: 동시에 중단 가능한 최대 Pod 수
- maxSurge: 초과 생성 가능한 최대 Pod 수
📚 Service
- Pod → Service → 외부 접근 3단계 구조
- Pod
- 실제 컨테이너 실행 환경
- labels로 Service와 연결
- containerPort: 8080 (앱 실행 포트)
- Service(중앙)
- 로드밸런서 역할
- selector로 Pod 선택
- port 매핑
- port 80: Service 진입점
- targetPort 8080: Pod로 전달
- nodePort 31231: 외부 노드 접근용
📚 HPA(Auto Scaling)
- CPU 사용률 기반 Pod 자동 스케일링
- 부하 증가 시 자동 확장되며 requests 기준으로 사용률 계산된다.
- 안정화 시간으로 불필요한 재시작을 방지한다.