//
Search
Duplicate
🎢

컨테이너에 디스크 스토리지 연결

Pod는 내부에 Process가 실행되고 CPU, RAM, Network Interface등의 Resource를 공유한다고해서 Process가 Disk 또한 공유할 수 있을 것이라고 생각할 수 있지만 그렇지 않습니다.
Pod 내부의 각 Container는 Filesystem을 Container Image에서 제공하기 때문에 고유하게 분리된 Filesystem을 가지고 있습니다.
새로운 Container가 시작할 때마다 Container Image를 Build할 때 추가한 파일들을 갖는 Container를 시작합니다. 그렇기 때문에 새롭게 시작한 컨테이너는 이전에 실행했던 Container에 쓰여진 Filesyste의 어떤 것도 볼 수 없습니다.
사용 가능한 볼륨 유형
emptyDir : 일시적인 데이터를 저장하는 데 사용되는 간단한 빈 디렉터리
hostPath : 워커 노드의 파일싯템을 파드의 디렉터리로 마운트하는 데 사용
gitRepo : 깃 레포지터리의 콘텐츠를 체크아웃해 초기화한 볼륨
nfs : NFS 공유를 파드에 마운트
awsElasticBlock Store, gcePersistentDisk, azureDisk : 클라우드 제공자의 전용 스토리지를 마운트하는데 사용
cinder, cephfs, iscsi, flocker, glusterfs, quobyte, rbd, flexVolume, vsphere Volume, photonPersistentDisk, scaleIO : 다른 유형의 네트워크 스토리지를 마운트하는 데 사용
configMap, secret, downwardAPI : 쿠버네티스 리소스나 클러스터 정보를 파드에 노출하는 데 사용되는 특별한 유형의 볼륨
persistentVolumeClaim : 사전에 혹은 동적으로 프로비저닝된 퍼시스턴스 스토리지를 사용하는 방법