You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This KEP adds a new `hostUsers` field to `pod.Spec` to allow to enable/disable
151
-
using user namespaces for stateless pods.
149
+
using user namespaces.
152
150
153
-
This proposal aims to support running stateless pods inside user namespaces.
151
+
This proposal aims to support running pods inside user namespaces.
154
152
155
153
This mitigates all the vulnerabilities listed in the motivation section.
156
154
@@ -288,20 +286,10 @@ message Mount {
288
286
}
289
287
```
290
288
291
-
### Support for stateless pods
289
+
### Support for pods
292
290
293
-
Make pods "without" volumes work with user namespaces. This is activated via the
294
-
bool `pod.spec.HostUsers` and can only be set to `false` on pods which use
295
-
either no volumes or only volumes of the following types:
296
-
297
-
- configmap
298
-
- secret
299
-
- downwardAPI
300
-
- emptyDir
301
-
- projected
302
-
303
-
This list of volumes was chosen as they can't be used to share files with other
304
-
pods.
291
+
Make pods work with user namespaces. This is activated via the
292
+
bool `pod.spec.HostUsers`.
305
293
306
294
The mapping length will be 65536, mapping the range 0-65535 to the pod. This wide
307
295
range makes sure most workloads will work fine. Additionally, we don't need to
@@ -331,10 +319,7 @@ limit the number of pods using user namespaces to `min(maxPods, 1024)`. This
331
319
leaves us plenty of host UID space free and this limits is probably never hit in
332
320
practice. See UNRESOLVED for more some UNRESOLVED info we still have on this.
333
321
334
-
### Handling of stateless volumes
335
-
336
-
Only the aforementioned volume types are supported. If other volume types are
337
-
used, a clear error is thrown during API validation of the pod.spec.
322
+
### Handling of volumes
338
323
339
324
When the volumes used are supported, the kubelet will set the `uid_mappings` and
340
325
`gid_mappings` in the CRI `Mount message`. It will use the same mappings the
@@ -919,7 +904,7 @@ kernels, but the SLO will be excluded in that case.
919
904
920
905
The SLO that might be affected is:
921
906
922
-
> Startup latency of schedulable stateless pods, excluding time to pull images and run init containers, measured from pod creation timestamp to when all its containers are reported as started and observed via watch, measured as 99th percentile over last 5 minutes
907
+
> Startup latency of schedulable pods, excluding time to pull images and run init containers, measured from pod creation timestamp to when all its containers are reported as started and observed via watch, measured as 99th percentile over last 5 minutes
923
908
924
909
The rootfs needs to be accessible by the user in the user namespace the pod is.
925
910
As every pod might run as a different user, we only know the mapping for a pod
@@ -1135,8 +1120,7 @@ mapping and have different runtimes pick different mappings. While KEP authors
1135
1120
disagree on this, we still need to discuss it and settle on something. This was
0 commit comments