k8s容器和主机上的最大用户进程

时间:2018-05-29 16:12:07

标签: kubernetes limit

我试图弄清楚最大用户进程设置如何在k8s中工作。可以在pod中运行ulimit -aH并检查最大用户进程设置:

core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 7418
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1048576
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) unlimited
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

然后如果您在主机上运行相同的内容以进行比较:

-t: cpu time (seconds)              unlimited
-f: file size (blocks)              unlimited
-d: data seg size (kbytes)          unlimited
-s: stack size (kbytes)             unlimited
-c: core file size (blocks)         unlimited
-m: resident set size (kbytes)      unlimited
-u: processes                       62799
-n: file descriptors                1048576
-l: locked-in-memory size (kbytes)  64
-v: address space (kbytes)          unlimited
-x: file locks                      unlimited
-i: pending signals                 62799
-q: bytes in POSIX msg queues       819200
-e: max nice                        0
-r: max rt priority                 0
-N 15:                              unlimited

我在很多场合看到主机的最大用户进程设置远低于pod的最大进程设置。 Nproc不是命名空间并且与UID绑定,但是在pod中的这个限制是否与同一用户的主机上的相同限制有某种关联?如果我有多个pod,对于例如最大用户进程具有更高的设置,该怎么办? root用户比主机上的用户?

有这个东西--pid cgroup - 在较新的内核中可用(从4.3开始),据我所知,docker基于它设计了它们的--pids-limit特性。但它还没有kubernetes。

提前致谢。

1 个答案:

答案 0 :(得分:0)

  

Nproc不是命名空间并且与UID绑定,但是在pod中的这个限制是否与同一用户的主机上的相同限制有某种关联?

它们没有相关性。

  

如果我有多个pod,对于例如最大用户进程具有更高的设置,该怎么办? root用户而不是主机上的用户?

将应用容器的限制。这是Kubernetes未准备好运行不受信任的有效载荷的原因之一。

  

有这个东西--pid cgroup - 在较新的内核中可用(从4.3开始),据我所知,docker基于它设计了它们的--pids-limit特性。但它还没有kubernetes可用。

正在进行的工作和已经完成的许多事情。您可以跟踪herehere