Windows 스토리지

Windows 스토리지 (Windows Storage)

이 페이지는 Windows 운영체제에 특화된 스토리지 개요를 제공해요.

출처: 문서

본문

영구 스토리지 (Persistent storage)

Windows는 컨테이너 레이어를 마운트하고 NTFS 기반의 복사 파일시스템(copy filesystem)을 만드는 계층화된 파일시스템 드라이버를 가지고 있어요. 컨테이너 안의 모든 파일 경로는 오직 그 컨테이너의 컨텍스트 안에서만 해석돼요.

  • Docker에서는 볼륨 마운트가 컨테이너 안의 디렉터리만 대상으로 할 수 있고, 개별 파일은 대상으로 할 수 없어요. 이 제한은 containerd에는 적용되지 않아요.
  • 볼륨 마운트는 파일이나 디렉터리를 호스트 파일시스템으로 다시 프로젝션(projection)할 수 없어요.
  • Windows 레지스트리와 SAM 데이터베이스에는 항상 쓰기 접근이 필요하므로 읽기 전용 파일시스템은 지원되지 않아요. 다만 읽기 전용 볼륨은 지원돼요.
  • 볼륨 사용자 마스크와 권한은 사용할 수 없어요. SAM이 호스트와 컨테이너 사이에 공유되지 않으므로 그 사이에 매핑이 없어요. 모든 권한은 컨테이너의 컨텍스트 안에서 해석돼요.

그 결과 Windows 노드에서는 다음과 같은 스토리지 기능이 지원되지 않아요.

  • 볼륨 하위 경로 마운트: Windows 컨테이너에는 전체 볼륨만 마운트할 수 있어요
  • Secrets의 하위 경로 볼륨 마운트
  • 호스트 마운트 프로젝션
  • 읽기 전용 루트 파일시스템 (매핑된 볼륨은 여전히 readOnly를 지원)
  • 블록 디바이스 매핑
  • 스토리지 매체로 메모리 사용 (예: emptyDir.mediumMemory로 설정된 경우)
  • 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 노드에서 영구 스토리지를 지원해요.

  • azureFile
  • vsphereVolume

더 알아보기 (Learn more)