Windows 스토리지
Windows 스토리지 (Windows Storage)
이 페이지는 Windows 운영체제에 특화된 스토리지 개요를 제공해요.
출처: 문서
본문
영구 스토리지 (Persistent storage)
Windows는 컨테이너 레이어를 마운트하고 NTFS 기반의 복사 파일시스템(copy filesystem)을 만드는 계층화된 파일시스템 드라이버를 가지고 있어요. 컨테이너 안의 모든 파일 경로는 오직 그 컨테이너의 컨텍스트 안에서만 해석돼요.
- Docker에서는 볼륨 마운트가 컨테이너 안의 디렉터리만 대상으로 할 수 있고, 개별 파일은 대상으로 할 수 없어요. 이 제한은 containerd에는 적용되지 않아요.
- 볼륨 마운트는 파일이나 디렉터리를 호스트 파일시스템으로 다시 프로젝션(projection)할 수 없어요.
- Windows 레지스트리와 SAM 데이터베이스에는 항상 쓰기 접근이 필요하므로 읽기 전용 파일시스템은 지원되지 않아요. 다만 읽기 전용 볼륨은 지원돼요.
- 볼륨 사용자 마스크와 권한은 사용할 수 없어요. SAM이 호스트와 컨테이너 사이에 공유되지 않으므로 그 사이에 매핑이 없어요. 모든 권한은 컨테이너의 컨텍스트 안에서 해석돼요.
그 결과 Windows 노드에서는 다음과 같은 스토리지 기능이 지원되지 않아요.
- 볼륨 하위 경로 마운트: Windows 컨테이너에는 전체 볼륨만 마운트할 수 있어요
- Secrets의 하위 경로 볼륨 마운트
- 호스트 마운트 프로젝션
- 읽기 전용 루트 파일시스템 (매핑된 볼륨은 여전히
readOnly를 지원) - 블록 디바이스 매핑
- 스토리지 매체로 메모리 사용 (예:
emptyDir.medium이Memory로 설정된 경우) - uid/gid 같은 파일시스템 기능; 사용자별 Linux 파일시스템 권한
- DefaultMode로 Secret 권한 설정 (UID/GID 의존 때문)
- NFS 기반 스토리지/볼륨 지원
- 마운트된 볼륨 확장 (resizefs)
쿠버네티스 볼륨은 데이터 영속성과 Pod 볼륨 공유 요구 사항이 있는 복잡한 애플리케이션을 쿠버네티스에 배포할 수 있게 해 줘요. 특정 스토리지 백엔드나 프로토콜과 연결된 영구 볼륨 관리에는 볼륨의 프로비저닝/프로비저닝 해제/크기 조정, 쿠버네티스 노드에 볼륨 연결/분리, 데이터를 유지해야 하는 파드의 개별 컨테이너에 볼륨 마운트/언마운트 같은 작업이 포함돼요.
볼륨 관리 컴포넌트는 쿠버네티스 볼륨 플러그인으로 제공돼요. Windows에서 지원되는 광범위한 쿠버네티스 볼륨 플러그인 클래스는 다음과 같아요.
FlexVolume plugins— 참고: FlexVolumes는 1.23부터 폐기(deprecated)됐어요.CSI Plugins
in-tree 볼륨 플러그인 (In-tree volume plugins)
다음 in-tree 플러그인은 Windows 노드에서 영구 스토리지를 지원해요.
azureFilevsphereVolume