1
1
---
2
2
title : 投射卷
3
3
content_type : concept
4
- weight : 21 # just after persistent volumes
4
+ weight : 21 # 跟在持久卷之后
5
5
---
6
6
7
7
<!--
@@ -19,7 +19,7 @@ weight: 21 # just after persistent volumes
19
19
<!--
20
20
This document describes _projected volumes_ in Kubernetes. Familiarity with [volumes](/docs/concepts/storage/volumes/) is suggested.
21
21
-->
22
- 本文档描述 Kubernetes 中的* 投射卷(Projected Volumes)* 。
22
+ 本文档描述 Kubernetes 中的** 投射卷(Projected Volumes)* * 。
23
23
建议先熟悉[ 卷] ( /zh-cn/docs/concepts/storage/volumes/ ) 概念。
24
24
25
25
<!-- body -->
@@ -49,10 +49,10 @@ Currently, the following types of volume sources can be projected:
49
49
50
50
<!--
51
51
All sources are required to be in the same namespace as the Pod. For more details,
52
- see the [all-in-one volume](https://github.com/kubernetes/ design-proposals-archive/blob/main /node/all-in-one-volume.md) design document.
52
+ see the [all-in-one volume](https://git.k8s.io/ design-proposals-archive/node/all-in-one-volume.md) design document.
53
53
-->
54
54
所有的卷源都要求处于 Pod 所在的同一个名字空间内。进一步的详细信息,可参考
55
- [ 一体化卷] ( https://github.com/kubernetes/ design-proposals-archive/blob/main /node/all-in-one-volume.md ) 设计文档。
55
+ [ 一体化卷] ( https://git.k8s.io/ design-proposals-archive/node/all-in-one-volume.md ) 设计文档。
56
56
57
57
<!--
58
58
### Example configuration with a secret, a downwardAPI, and a configMap {#example-configuration-secret-downwardapi-configmap}
@@ -82,7 +82,7 @@ parameters are nearly the same with two exceptions:
82
82
83
83
* 对于 Secret,` secretName ` 字段被改为 ` name ` 以便于 ConfigMap 的命名一致;
84
84
* ` defaultMode ` 只能在投射层级设置,不能在卷源层级设置。不过,正如上面所展示的,
85
- 你可以显式地为每个投射单独设置 ` mode ` 属性。
85
+ 你可以显式地为每个投射单独设置 ` mode ` 属性。
86
86
87
87
<!--
88
88
## serviceAccountToken projected volumes {#serviceaccounttoken}
@@ -91,6 +91,7 @@ for the current [service account](/docs/reference/access-authn-authz/authenticat
91
91
into a Pod at a specified path. For example:
92
92
-->
93
93
## serviceAccountToken 投射卷 {#serviceaccounttoken}
94
+
94
95
当 ` TokenRequestProjection ` 特性被启用时,你可以将当前
95
96
[ 服务账号] ( /zh-cn/docs/reference/access-authn-authz/authentication/#service-account-tokens )
96
97
的令牌注入到 Pod 中特定路径下。例如:
@@ -107,8 +108,8 @@ in the audience of the token, and otherwise should reject the token. This field
107
108
is optional and it defaults to the identifier of the API server.
108
109
-->
109
110
示例 Pod 中包含一个投射卷,其中包含注入的服务账号令牌。
110
- 此 Pod 中的容器可以使用该令牌访问 Kubernetes API 服务器, 使用
111
- [ pod 的 ServiceAccount] ( /zh-cn/docs/tasks/configure-pod-container/configure-service-account/ )
111
+ 此 Pod 中的容器可以使用该令牌访问 Kubernetes API 服务器, 使用
112
+ [ Pod 的 ServiceAccount] ( /zh-cn/docs/tasks/configure-pod-container/configure-service-account/ )
112
113
进行身份验证。` audience ` 字段包含令牌所针对的受众。
113
114
收到令牌的主体必须使用令牌受众中所指定的某个标识符来标识自身,否则应该拒绝该令牌。
114
115
此字段是可选的,默认值为 API 服务器的标识。
@@ -122,8 +123,8 @@ of the projected volume.
122
123
-->
123
124
字段 ` expirationSeconds ` 是服务账号令牌预期的生命期长度。默认值为 1 小时,
124
125
必须至少为 10 分钟(600 秒)。管理员也可以通过设置 API 服务器的命令行参数
125
- ` --service-account-max-token-expiration ` 来为其设置最大值上限。` path ` 字段给出
126
- 与投射卷挂载点之间的相对路径 。
126
+ ` --service-account-max-token-expiration ` 来为其设置最大值上限。
127
+ ` path ` 字段给出与投射卷挂载点之间的相对路径 。
127
128
128
129
{{< note >}}
129
130
<!--
@@ -140,7 +141,7 @@ volume mount will not receive updates for those volume sources.
140
141
## 与 SecurityContext 间的关系 {#securitycontext-interactions}
141
142
142
143
<!--
143
- The [proposal](https://git.k8s.io/enhancements/keps/sig-storage/2451-service-account-token-volumes#proposal) for file permission handling in projected service account volume enhancement introduced the projected files having the the correct owner permissions set.
144
+ The [proposal](https://git.k8s.io/enhancements/keps/sig-storage/2451-service-account-token-volumes#proposal) for file permission handling in projected service account volume enhancement introduced the projected files having the correct owner permissions set.
144
145
-->
145
146
关于在投射的服务账号卷中处理文件访问权限的[ 提案] ( https://git.k8s.io/enhancements/keps/sig-storage/2451-service-account-token-volumes#proposal )
146
147
介绍了如何使得所投射的文件具有合适的属主访问权限。
@@ -154,7 +155,7 @@ the projected files have the correct ownership set including container user
154
155
ownership.
155
156
-->
156
157
在包含了投射卷并在
157
- [ ` SecurityContext ` ] ( /docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context )
158
+ [ ` SecurityContext ` ] ( /zh-cn/ docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context )
158
159
中设置了 ` RunAsUser ` 属性的 Linux Pod 中,投射文件具有正确的属主属性设置,
159
160
其中包含了容器用户属主。
160
161
@@ -181,8 +182,7 @@ Windows 在名为安全账号管理器(Security Account Manager,SAM)
181
182
宿主系统无法窥视到容器运行期间数据库内容。Windows 容器被设计用来运行操作系统的用户态部分,
182
183
与宿主系统之间隔离,因此维护了一个虚拟的 SAM 数据库。
183
184
所以,在宿主系统上运行的 kubelet 无法动态为虚拟的容器账号配置宿主文件的属主。
184
- 如果需要将宿主机器上的文件与容器共享,建议将它们放到挂载于 ` C:\ ` 之外
185
- 的独立卷中。
185
+ 如果需要将宿主机器上的文件与容器共享,建议将它们放到挂载于 ` C:\ ` 之外的独立卷中。
186
186
187
187
<!--
188
188
By default, the projected files will have the following ownership as shown for
@@ -222,7 +222,7 @@ the Linux only `RunAsUser` option with Windows Pods.
222
222
-->
223
223
总体而言,为容器授予访问宿主系统的权限这种做法是不推荐的,因为这样做可能会打开潜在的安全性攻击之门。
224
224
225
- 在创建 Windows Pod 时,如过在其 ` SecurityContext ` 中设置了 ` RunAsUser ` ,
225
+ 在创建 Windows Pod 时,如果在其 ` SecurityContext ` 中设置了 ` RunAsUser ` ,
226
226
Pod 会一直阻塞在 ` ContainerCreating ` 状态。因此,建议不要在 Windows
227
227
节点上使用仅针对 Linux 的 ` RunAsUser ` 选项。
228
228
{{< /note >}}
0 commit comments