|
| 1 | +--- |
| 2 | +title: Windows 存储 |
| 3 | +content_type: concept |
| 4 | +--- |
| 5 | +<!-- |
| 6 | +reviewers: |
| 7 | +- jingxu97 |
| 8 | +- mauriciopoppe |
| 9 | +- jayunit100 |
| 10 | +- jsturtevant |
| 11 | +- marosset |
| 12 | +- aravindhp |
| 13 | +title: Windows Storage |
| 14 | +content_type: concept |
| 15 | +--> |
| 16 | + |
| 17 | +<!-- overview --> |
| 18 | +<!-- |
| 19 | +This page provides an storage overview specific to the Windows operating system. |
| 20 | +--> |
| 21 | +此页面提供特定于 Windows 操作系统的存储概述。 |
| 22 | +<!-- body --> |
| 23 | + |
| 24 | +<!-- |
| 25 | +## Persistent storage {#storage} |
| 26 | +
|
| 27 | +Windows has a layered filesystem driver to mount container layers and create a copy |
| 28 | +filesystem based on NTFS. All file paths in the container are resolved only within |
| 29 | +the context of that container. |
| 30 | +--> |
| 31 | +## 持久存储 {#storage} |
| 32 | +Windows 有一个分层文件系统驱动程序用来挂载容器层和创建基于 NTFS 的文件系统拷贝。 |
| 33 | +容器中的所有文件路径仅在该容器的上下文中解析。 |
| 34 | + |
| 35 | +<!-- |
| 36 | +* With Docker, volume mounts can only target a directory in the container, and not |
| 37 | + an individual file. This limitation does not apply to containerd. |
| 38 | +* Volume mounts cannot project files or directories back to the host filesystem. |
| 39 | +* Read-only filesystems are not supported because write access is always required |
| 40 | + for the Windows registry and SAM database. However, read-only volumes are supported. |
| 41 | +* Volume user-masks and permissions are not available. Because the SAM is not shared |
| 42 | + between the host & container, there's no mapping between them. All permissions are |
| 43 | + resolved within the context of the container. |
| 44 | +--> |
| 45 | +* 使用 Docker 时,卷挂载只能是容器中的目录,而不能是单个文件。此限制不适用于 containerd。 |
| 46 | +* 卷挂载不能将文件或目录映射回宿主文件系统。 |
| 47 | +* 不支持只读文件系统,因为 Windows 注册表和 SAM 数据库始终需要写访问权限。不过,Windows 支持只读的卷。 |
| 48 | +* 不支持卷的用户掩码和访问许可,因为宿主与容器之间并不共享 SAM,二者之间不存在映射关系。 |
| 49 | + 所有访问许可都是在容器上下文中解析的。 |
| 50 | + |
| 51 | +<!-- |
| 52 | +As a result, the following storage functionality is not supported on Windows nodes: |
| 53 | +--> |
| 54 | +因此,Windows 节点不支持以下存储功能: |
| 55 | + |
| 56 | +<!-- |
| 57 | +* Volume subpath mounts: only the entire volume can be mounted in a Windows container |
| 58 | +* Subpath volume mounting for Secrets |
| 59 | +* Host mount projection |
| 60 | +* Read-only root filesystem (mapped volumes still support `readOnly`) |
| 61 | +* Block device mapping |
| 62 | +* Memory as the storage medium (for example, `emptyDir.medium` set to `Memory`) |
| 63 | +* File system features like uid/gid; per-user Linux filesystem permissions |
| 64 | +* Setting [secret permissions with DefaultMode](/docs/concepts/configuration/secret/#secret-files-permissions) (due to UID/GID dependency) |
| 65 | +* NFS based storage/volume support |
| 66 | +* Expanding the mounted volume (resizefs) |
| 67 | +--> |
| 68 | +* 卷子路径挂载:只能在 Windows 容器上挂载整个卷 |
| 69 | +* Secret 的子路径挂载 |
| 70 | +* 宿主挂载映射 |
| 71 | +* 只读的根文件系统(映射的卷仍然支持 `readOnly`) |
| 72 | +* 块设备映射 |
| 73 | +* 内存作为存储介质(例如 `emptyDir.medium` 设置为 `Memory`) |
| 74 | +* 类似 UID/GID、各用户不同的 Linux 文件系统访问许可等文件系统特性 |
| 75 | +* 使用 [DefaultMode 设置 Secret 权限](/zh/docs/concepts/configuration/secret/#secret-files-permissions) |
| 76 | + (因为该特性依赖 UID/GID) |
| 77 | +* 基于 NFS 的存储和卷支持 |
| 78 | +* 扩展已挂载卷(resizefs) |
| 79 | + |
| 80 | +<!-- |
| 81 | +Kubernetes {{< glossary_tooltip text="volumes" term_id="volume" >}} enable complex |
| 82 | +applications, with data persistence and Pod volume sharing requirements, to be deployed |
| 83 | +on Kubernetes. Management of persistent volumes associated with a specific storage |
| 84 | +back-end or protocol includes actions such as provisioning/de-provisioning/resizing |
| 85 | +of volumes, attaching/detaching a volume to/from a Kubernetes node and |
| 86 | +mounting/dismounting a volume to/from individual containers in a pod that needs to |
| 87 | +persist data. |
| 88 | +--> |
| 89 | +使用 Kubernetes {{< glossary_tooltip text="卷" term_id="volume" >}}, |
| 90 | +对数据持久性和 Pod 卷共享有需求的复杂应用也可以部署到 Kubernetes 上。 |
| 91 | +管理与特定存储后端或协议相关的持久卷时,相关的操作包括:对卷的制备(Provisioning)、 |
| 92 | +去配(De-provisioning)和调整大小,将卷挂接到 Kubernetes 节点或从节点上解除挂接, |
| 93 | +将卷挂载到需要持久数据的 Pod 中的某容器上或从容器上卸载。 |
| 94 | + |
| 95 | +<!-- |
| 96 | +Volume management components are shipped as Kubernetes volume |
| 97 | +[plugin](/docs/concepts/storage/volumes/#types-of-volumes). |
| 98 | +The following broad classes of Kubernetes volume plugins are supported on Windows: |
| 99 | +--> |
| 100 | +卷管理组件作为 Kubernetes 卷[插件](/zh/docs/concepts/storage/volumes/#types-of-volumes)发布。 |
| 101 | +Windows 支持以下类型的 Kubernetes 卷插件: |
| 102 | + |
| 103 | +<!-- |
| 104 | +* [`FlexVolume plugins`](/docs/concepts/storage/volumes/#flexVolume) |
| 105 | + * Please note that FlexVolumes have been deprecated as of 1.23 |
| 106 | +* [`CSI Plugins`](/docs/concepts/storage/volumes/#csi) |
| 107 | +--> |
| 108 | +* [`FlexVolume plugins`](/zh/docs/concepts/storage/volumes/#flexVolume) |
| 109 | + * 请注意自 1.23 版本起,FlexVolume 已被弃用 |
| 110 | +* [`CSI Plugins`](/zh/docs/concepts/storage/volumes/#csi) |
| 111 | + |
| 112 | +<!-- |
| 113 | +##### In-tree volume plugins |
| 114 | +
|
| 115 | +The following in-tree plugins support persistent storage on Windows nodes: |
| 116 | +--> |
| 117 | +##### 树内(In-Tree)卷插件 {#in-tree-volume-plugins} |
| 118 | + |
| 119 | +以下树内(In-Tree)插件支持 Windows 节点上的持久存储: |
| 120 | + |
| 121 | +<!-- |
| 122 | +* [`awsElasticBlockStore`](/docs/concepts/storage/volumes/#awselasticblockstore) |
| 123 | +* [`azureDisk`](/docs/concepts/storage/volumes/#azuredisk) |
| 124 | +* [`azureFile`](/docs/concepts/storage/volumes/#azurefile) |
| 125 | +* [`gcePersistentDisk`](/docs/concepts/storage/volumes/#gcepersistentdisk) |
| 126 | +* [`vsphereVolume`](/docs/concepts/storage/volumes/#vspherevolume) |
| 127 | +--> |
| 128 | +* [`awsElasticBlockStore`](/zh/docs/concepts/storage/volumes/#awselasticblockstore) |
| 129 | +* [`azureDisk`](/zh/docs/concepts/storage/volumes/#azuredisk) |
| 130 | +* [`azureFile`](/zh/docs/concepts/storage/volumes/#azurefile) |
| 131 | +* [`gcePersistentDisk`](/zh/docs/concepts/storage/volumes/#gcepersistentdisk) |
| 132 | +* [`vsphereVolume`](/zh/docs/concepts/storage/volumes/#vspherevolume) |
0 commit comments