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 기준으로 사용률 계산된다.
  • 안정화 시간으로 불필요한 재시작을 방지한다.