* Move Windows storage concepts to a new page - Move FlexVolume plugins section to docs/concepts/storage/volumes.md - Move CSI plugins section to en/docs/concepts/storage/volumes.md - Move in-tree plugins section to en/docs/concepts/storage/volumes.md * Moving networking related content in /docs/setup/production-environment/windows to various locations - Moving windows DNS limitations to/docs/concepts/services-networking/dns-pod-service.md - Moving windows session sticky time disclaimer to /docs/concepts/services-networking/service.md - Moving windows dual stack support info to /docs/concepts/services-networking/dual-stack.md - Moving generic Windows content to /docs/concepts/services-networking/windows-networking.md Signed-off-by: Mark Rossetti <marosset@microsoft.com> * Moving Windows troubleshooting topics to /tasks/debug-application-cluster/ Signed-off-by: Mark Rossetti <marosset@microsoft.com> * Moving windows containers user guide out of /setup/production-environment/ Signed-off-by: Mark Rossetti <marosset@microsoft.com> * fixup! Moving windows containers user guide out of /setup/production-environment/ * moving intro-windows-in-kubernetes content out of /setup/production-environment/ Signed-off-by: Mark Rossetti <marosset@microsoft.com> Co-authored-by: Aravindh Puthiyaparambil <aravindh@redhat.com>
3.1 KiB
reviewers, title, content_type
| reviewers | title | content_type | ||||||
|---|---|---|---|---|---|---|---|---|
|
Windows Storage | concept |
This page provides an storage overview specific to the Windows operating system.
Persistent storage
Windows has a layered filesystem driver to mount container layers and create a copy filesystem based on NTFS. All file paths in the container are resolved only within the context of that container.
- With Docker, volume mounts can only target a directory in the container, and not an individual file. This limitation does not apply to containerd.
- Volume mounts cannot project files or directories back to the host filesystem.
- Read-only filesystems are not supported because write access is always required for the Windows registry and SAM database. However, read-only volumes are supported.
- Volume user-masks and permissions are not available. Because the SAM is not shared between the host & container, there's no mapping between them. All permissions are resolved within the context of the container.
As a result, the following storage functionality is not supported on Windows nodes:
- Volume subpath mounts: only the entire volume can be mounted in a Windows container
- Subpath volume mounting for Secrets
- Host mount projection
- Read-only root filesystem (mapped volumes still support
readOnly) - Block device mapping
- Memory as the storage medium (for example,
emptyDir.mediumset toMemory) - File system features like uid/gid; per-user Linux filesystem permissions
- Setting secret permissions with DefaultMode (due to UID/GID dependency)
- NFS based storage/volume support
- Expanding the mounted volume (resizefs)
Kubernetes {{< glossary_tooltip text="volumes" term_id="volume" >}} enable complex applications, with data persistence and Pod volume sharing requirements, to be deployed on Kubernetes. Management of persistent volumes associated with a specific storage back-end or protocol includes actions such as provisioning/de-provisioning/resizing of volumes, attaching/detaching a volume to/from a Kubernetes node and mounting/dismounting a volume to/from individual containers in a pod that needs to persist data.
Volume management components are shipped as Kubernetes volume plugin. The following broad classes of Kubernetes volume plugins are supported on Windows:
FlexVolume plugins- Please note that FlexVolumes have been deprecated as of 1.23
CSI Plugins
In-tree volume plugins
The following in-tree plugins support persistent storage on Windows nodes: