186-198
도커의 볼륨 -> 컨테이너 일시직으로 볼륨 사용 데이터 호출 이후 폐기
데이터 처리를 위해 볼륨을 붙이고 데이터는 이 곳에 영구 저장
파드 삭제 시 데이터 삭제 됨 -> 볼륨에 저장 삭제 후에도 데이터 남아 있음
싱글 노드 클러스터 예시
저장소 구성 방법 -> hostPath -> 다중 노드에서는 사용불가
-> 해당 노드만 데이터 디렉토리가 있기 때문
NFS, Ceph, GlusterFS, EBS, Azure Disk ...
Persistent Volumes
저장소보다 중앙에서 관리하기 위해
apiVersion: v1
kind: PersistentVolume
spec:
accessModes:
capacity:
storage:
hostPath:
path -> 프로덕션 환경 사용 X
awsElasticBlockStorage
액세스 모드는 호스트에 볼륨이 어떻게 마운트되어야 하는지 지정
Persistent Volume Claims
pvc를 만들어 pv를 사용할 수 있게 끔 사용
pvc는 pv로 일대일 매칭
셀렉터를 통해 매칭 가능
새 볼륨이 생기면 pvc는 자동으로 조건에 맞는 pv가 연결 됨
apiVersion: v1
kind: PersistentVolumeㅊ=Claim
spec:
accessModes:
resources:
requests:
storage
kubectl get pvc
Bound 상태 확인
pvc 삭제 시 pv는? 선택가능 Retain이 기본 -> 삭제시까지 볼륨 남아있음 재사용 금지
Delete 는 PVC삭제 시 볼륨도 삭제
Recycle 다른 클레임도 사용가능하지만 사용하게 되면 이전 데이터는 사라짐
Storage Class -> 동적 프로비저닝을 위해
pv가 필요할때마다 디스크를 만들어야 하는 경우가 있음 -> 구글 디스크 -> 정적 프로비저닝
동적 프로그래밍 -> 자동으로 볼륨 생성
pvc에 sc를 연결하면 pvc 생성 시, pv를 자동으로 생성 및 연결