
Volume을 컨테이너에 마운트Pod가 종료되면 안에 있던 데이터도 사라짐
이를 해결하려면 Pod에 Volume을 마운트
예시:
/opt/number.out 파일에 숫자를 저장hostPath 타입 Volume을 생성해서 /data 경로를 연결volumes:
- name: data-volume
hostPath:
path: /data
type: Directory
volumeMounts:
- name: data-volume
mountPath: /opt
/opt 디렉토리는 실제로 노드의 /data 디렉토리와 연결/data/number.out은 노드에 남아 있음단일 노드에서는 작동하지만 다중 노드 환경에서는 부적합
/data 경로가 모든 노드에 있지만, 서로 다른 물리 저장소이기 때문Kubernetes는 다양한 스토리지를 Volume으로 연결할 수 있게 해줌:
| 분류 | 스토리지 예시 |
|---|---|
| 네트워크 스토리지 | NFS, GlusterFS, CephFS, iSCSI |
| 클러스터 스토리지 | ScaleIO, Flocker |
| 클라우드 스토리지 | AWS EBS, GCP PD, Azure Disk/File |
| 전통 스토리지 | Fibre Channel, Local SSD |
📌 예: AWS EBS 설정
volumes:
- name: data-volume
awsElasticBlockStore:
volumeID: vol-abc123
fsType: ext4
| 개념 | 설명 |
|---|---|
| Volume | Pod에 붙이는 데이터 저장소, Pod 삭제 후에도 존재 가능 |
| hostPath | 노드 로컬 디스크를 Volume으로 사용 |
| 문제점 | 멀티 노드 클러스터에서는 데이터 불일치 가능성 |
| 대안 | 외부 스토리지 (EBS, NFS 등) 또는 PersistentVolume 사용 |
| 다음 주제 | Persistent Volume → 스토리지 관리 추상화 |