[CKA] Docker Volume Driver Plugin
Docker Volume Driver Plugin의 핵심 개념과 구성 방법, 실습 풀이를 정리합니다.
Volume Driver Plugin
컨테이너에서의 전체적인 볼륨 저장 방식과 파일 시스템을 알아보았습니다.
볼륨은 볼륨 드라이버 플러그인에 의해 처리된다는 것도 이해했습니다. 이때 default 볼륨 드라이버 플러그인은 로컬로, 로컬 볼륨 플러그인은 Docker 호스트에서 볼륨을 생성하고 해당 데이터를 var/lib/docker volumes 디렉토리 아래에 저장하는 역할을 합니다.
타사 솔루션에 볼륨을 생성할 수 있는 여러 볼륨 드라이버 플러그인이 있습니다. Azure file storage, Convoy, DigitalOcean, Block Storage, Flocker, Google Compute Persistent Disks, Cluster FS, NetApp, REX-Ray, Portworx, 및 VMware vSphere 스토리지 등입니다. 이들은 많은 것 중 일부에 불과합니다.
이러한 볼륨 드라이버 중 일부는 다른 스토리지 공급자를 지원합니다. 예를 들어 REX-Ray 스토리지 드라이버를 사용하여 AWS EBS, S3, Isilon 및 ScaleIO와 같은 EMC 스토리지 어레이, Google Persistent Disk 또는 OpenStack Cinder에 스토리지를 프로비저닝할 수 있습니다.
Docker 컨테이너를 실행할 때 EBS와 같은 특정 볼륨 드라이버를 사용하여 Amazon EBS에서 볼륨을 프로비저닝하도록 선택할 수 있습니다.
이렇게 하면 컨테이너가 생성되고 AWS 클라우드에서 볼륨이 연결됩니다. 컨테이너가 종료되면 데이터는 클라우드에 안전하게 보관됩니다.
정리하면 다음과 같습니다.
스토리지 드라이버(Storage Driver):
- 컨테이너의 읽기-쓰기 레이어를 관리
- 컨테이너 실행을 위한 로컬 스토리지 관리
- 이미지 레이어를 관리하고 컨테이너의 쓰기 가능한 레이어를 제공
- Docker의 이미지와 컨테이너가 로컬 호스트에서 어떻게 저장되고 관리되는지 제어
- 예: overlay2, devicemapper 등
볼륨 드라이버(Volume Driver):
- 외부 스토리지 시스템과의 연결을 관리
- 원격 스토리지나 클라우드 스토리지를 컨테이너에 연결
- 영구적인 데이터 저장을 위한 외부 스토리지 통합
- 다양한 스토리지 백엔드(AWS EBS, Azure Disk, Google Cloud Storage 등)를 지원
- 예: REX-Ray, Portworx, NetApp 등
간단히 말하면:
- 스토리지 드라이버: 로컬에서 컨테이너와 이미지를 어떻게 저장하고 관리할지
- 볼륨 드라이버: 외부 스토리지를 어떻게 연결하고 관리할지 데이터 백업까지 쉽습니다.