본문 바로가기

쿠버네티스

Kubernetes Storage 꿀팁

 

쿠버네티스(Kubernetes)를 사용하면 컨테이너를 관리하고 배포하는 것이 쉬워지지만, 데이터의 영속성(Persistence) 보존을 위해선 추가적인 설정이 필요합니다. 

 

 

 


Pod가 종료되거나 재시작할 때 데이터를 유지하려면 Persistent Volume(PV)과 Persistent Volume Claim(PVC)을 활용한 스토리지 관리가 필수입니다. 

 

쿠버네티스 스토리지 꿀팁


이번 글에서는 Kubernetes 에서 Storage 관리를 위한 필수 개념을 소개합니다.

 

목 차

 

Kubernetes Storage 개념 정리

 

Kubernetes에서 스토리지는 크게 영구 스토리지(Persistent Storage)와 비영구 스토리지(Ephemeral Storage)로 나뉩니다.

영구 스토리지는 Pod의 생명 주기와 무관하게 데이터를 보존하는 스토리지입니다. 비영구 스토리지는 Pod의 생명 주기에 종속되는 임시 저장소로, Pod가 삭제되거나 재생성되면 해당 데이터도 사라집니다.

 

영구 스토리지의 종류와 특징

영구 스토리지는 Pod의 생명 주기와 관계없이 데이터를 보존할 수 있습니다. 데이터베이스, 애플리케이션 상태 유지를 위한 데이터 보관을 목적으로 주로 사용됩니다.

스토리지 타입 설명
Persistent Volume (PV) 클러스터 전체에서 사용할 수 있는 독립적인 영구 볼륨
Persistent Volume Claim (PVC) Pod가 PV를 요청하는 방식
StorageClass 동적 볼륨 프로비저닝을 위한 스토리지 정책
CSI (Container Storage Interface) 외부 스토리지를 쿠버네티스에서 사용할 수 있도록 연결하는 표준 인터페이스

 

영구 스토리지는 PV + PVC 를 통해 주로 생성 및 관리합니다.

 

비영구 스토리지의 종류와 특징

비영구 스토리지는 임시 저장소로, Pod가 삭제되거나 이동하면 해당 데이터도 함께 사라집니다. 임시 데이터, 캐시, 단발성 로그 저장을 목적으로 주로 사용됩니다.

스토리지 타입 설명
EmptyDir Pod가 실행되는 동안만 유지되는 디렉토리
HostPath 노드의 특정 디렉토리를 Pod 내부에 마운트
EphmeralVolume CSI 기반으로 동적으로 생성되는 일회성 볼륨

 

테스트 용도를 위해 사용 시, EmptyDir 타입을 주로 사용합니다. 

 

영구 스토리지 VS 비영구 스토리지 비교

영구 스토리지와 비영구 스토리지의 주요 특징을 비교하였습니다.

특징 영구 스토리지 비영구 스토리지
Pod 삭제 시 데이터 유지 여부 데이터 유지됨 데이터 삭제됨
주요 사용 사례 데이터베이스, 애플리케이션 상태정보, Pod가 공유해야 하는 데이터 캐시, 임시파일, 로그
스토리지 관리 방식 PV + PVC를 통해 관리 Kubernetes 자동 관리
재사용 가능 여부 PVC를 통해 다른 Pod에서 재사용 가능 다른 Pod 에서재사용 불가
예제 PV, PVC, StorageClass emptyDir, hostPath

 

 

요약 정리

  • 영구 스토리지는 Pod의 생명 주기와 무관하게 데이터를 보존할 수 있으며, 데이터베이스 및 중요한 애플리케이션 데이터 저장에 사용됩니다.
  • 비영구 스토리지는 Pod가 삭제되면 데이터도 사라지는 임시 저장소로, 주로 캐시 및 로그 저장에 사용됩니다.
  • 운영 환경에서는 StorageClass 와 PVC 를 이용한 영구 스토리지 구성이 일반적입니다.