[CKA] PersistentVolumeClaim

PersistentVolumeClaim의 핵심 개념과 구성 방법, 실습 풀이를 정리합니다.

Persistent Volume Claims

  1. PVC의 기본 개념:
  1. PVC의 주요 스펙:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-pvc
spec:
  accessModes:
    - ReadWriteOnce    # 접근 모드
  resources:
    requests:
      storage: 10Gi    # 요청 용량
  storageClassName: standard  # 스토리지 클래스
  1. 주요 속성 설명:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: standard
provisioner: ebs.csi.aws.com  # AWS EBS CSI 드라이버가 먼저 설치되어 있어야 함
parameters:
  type: gp2                        # EBS 볼륨 타입
  fsType: ext4                     # 파일시스템 타입
# PVC 정의
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-pvc
spec:
  storageClassName: standard    # 이 StorageClass 사용
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi

결과:

  1. PVC 생명주기:
생성 → Pending → Bound → 사용 중 → 해제 → 삭제
  1. Pod에서 PVC 사용 예시:
apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  containers:
    - name: myfrontend
      image: nginx
      volumeMounts:
      - mountPath: "/var/www/html"
        name: mypd
  volumes:
    - name: mypd
      persistentVolumeClaim:
        claimName: my-pvc
  1. PVC 상태 관리:
  1. PVC 사용 시 주의사항:
  1. PVC 모니터링:
# PVC 목록 조회
kubectl get pvc

# PVC 상세 정보 확인
kubectl describe pvc my-pvc
  1. 장점: