我试图弄清楚最大用户进程设置如何在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。
提前致谢。
答案 0 :(得分:0)