Kubernetes Volume

김관응·2023년 3월 30일
0

kubernetes

목록 보기
6/10

쿠버네티스의 볼륨은 다양한 디스크 볼륨을 지원한다.

1. empryDir

emptyDir은 Pod이 생생될 때 생성되고 삭제될 떄 삭제되는 임시 볼륨이다.

단위가 컨테이너가 아니라 Pod 단위이기 때문에 컨테이너가 재시작이 되어도 emptyDir은 Pod 이 삭제되기 전에는 삭제되지 않는다.

생성 당시에는 디스크에 아무 내용이 없기 때문에 emptyDir이라고 부른다.

emptyDir은 물리적으로 노드에서 할당해주는 디스크에 저장.

emptyDir.medium 필드에 “memory”라고 지정해주면 물리디스크가아닌 메모리에 저장.

두 컨테이너 간 공유 디스크를 통해 데이터 공유가 가능하다.

2. hostPath

로컬 디스크의 경로를 Pod에서 마운트 해서 사용한다.

Pod이 삭제 되더라도 파일들은 유지가 되며 다른 Pod에 마운트 하면 엑세스 가능하다.

Pod이 다른 노드에서 재기동 될 경우 물리적으로 다른곳에 디스크가 있기 때문에 접근이 불가능하다.

3. Persistant

시스템 관리자가 실제 물리디스크로 PV를 만들어 쿠버네티스에 등록하여 PVC를 지정하여 Pod이 PV와 연결된다.

3.1. PersistentVolume(PV)

PV는 물리 디스크를 쿠버네티스에서 정의한 것이다.

PV는 생성이 되면 Available 상태가 되며 PVC에 바인딩 할 수 있다.

바인딩을 하게 되면 상태가 Bound로 바뀌고 사용된다.

PVC 삭제시 Release 상태가 된다.

3.2. PersistentVolumeClaim(PVC)

Pod의 볼륨과 PV를 연결하는 관계 선언이다.

3.3 DynamicProvisioning

PVC만 정의하면 이에 맞는 물리 디스크와 PV 생성을 자동화 해주는 기능이다.

쿠버네티스를 이상적으로 구축하기 위해서는 물리적인 구조는 생각하지 않고 논리적으로만 오브젝트를 관리해야하며 볼륨은 PV를 필수적으로 이용해야 한다고 생각한다.

profile
엔지니어였던 개발자

0개의 댓글