[Kubernetes] 쿠버네티스 볼륨(Volume) - 종류와 특징

2024. 9. 26. 17:33Kubernetes/Kubernetes_Service

반응형

안녕하세요, 달콤한달팽이입니다.🐌🙂

 

앞선 실습들을 통해 저희는 Pod가 언제든 소멸될 수 있는 Stateless 리소스임을 확인했습니다.

 

하지만 이 경우 Pod가 재시작되면 각각의 Pod 내부에 저장되어 있는 데이터들이 모두 사라진다는 문제가 발생합니다.

 

그래서 이번 시간에는 쿠버네티스에는 어떤 종류의 볼륨이 존재하는지 알아보도록 하겠습니다.


1) emptyDir

emptyDir란, Pod가 생성될 때 같이 생성되고, 삭제될 때 같이 삭제되는 임시 볼륨을 의미합니다.

 

Pod과 생성주기를 공유하기 때문에 Pod 내부 컨테이너가 삭제 또는 재시작 되어도 계속 사용 가능한 특징이 있습니다.

 

2) hostPath

hostPath란, Pod가 위치한 Node의 로컬 디스크 경로에 마운트해서 사용하는 방식을 의미합니다.

 

여러 Pod가 hostPath를 공유하여 사용할 수 있으며, Pod가 삭제되어도 hostPath의 파일은 유지되는 특징이 있습니다.

 

또한, Pod가 재시작되어 다른 노드에 생성될 경우 노드의 변경으로 인해 기존 hostPath에 대한 파일 엑세스가 불가능하다는 점 참고해주세요!

 

3) PV(Persistent Volume) & PVC(Persistent Volume Claim)

앞서 언급한 방식들의 특징은 Pod와 생명주기를 공유하던가, 특정 노드에서만 디스크를 사용할 수 있는 제약 사항을 가지고 있습니다.

 

PV와 PVC는 NAS 유형의 볼륨(ex. AWS EBS, EFS 등)을 사용하여 영구적으로 데이터를 저장하는 볼륨을 사용하는 방식을 의미합니다.

(PV와 PVC는 다른 것을 의미하지만, 이는 추후에 직접 생성해보며 다뤄보도록 하겠습니다.)


지금까지 쿠버네티스에서 주로 다루는 볼륨의 종류와 역할에 대해 알아보았습니다.

 

물론 gitRepo, NFS, cinder 등 훨씬 더 많은 종류의 볼륨이 존재하지만,

EKS를 사용할 때 주로 사용되는 볼륨에 대하여 알아보았습니다.

 

다음 글에서부턴 각각에 대한 실습을 진행하며 보다 자세한 사용법을 알아보도록 하겠습니다.

 

감사합니다!

반응형