LINUX.ORG.RU
ФорумAdmin

k8s, kworker съедает pid-ы

 , , , ,


0

1

Приветствую.
Может сталкивался кто или подскажите как анализировать данную проблему?

Есть кубер:

VERSION   OS-IMAGE                KERNEL-VERSION               CONTAINER-RUNTIME
v1.15.3   CentOS Linux 7 (Core)   3.10.0-862.11.6.el7.x86_64   docker://18.9.6

Иногда при обновлении образов получаю

Failed create pod sandbox: rpc error: code = Unknown desc = failed to start sandbox container for pod "ecpmz-7579f86c7c-rjt4b": Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "process_linux.go:297: getting the final child's pid from pipe caused \"EOF\"": unknown

Считаю процессы:

ps aux | wc -l
1024

Смотрю настройки:

cat /proc/sys/kernel/pid_max
131072
cat /proc/sys/user/max_user_namespaces 
10240
cat /proc/sys/fs/file-max
1624080

grep Limit /usr/lib/systemd/system/docker.service
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity

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

Видимо лимит пидов у докера свой. Съедает пиды kworker, плодиться куча после чего исчезают и все работает в штатном режиме.

...
root        801  0.0  0.0      0     0 ?        R    12:43   0:00 [kworker/0:253]
root        802  0.0  0.0      0     0 ?        S    12:43   0:00 [kworker/0:254]
...

Проходит немного времени и пиды исчезают.

В dmesg тихо. Пробовал perf record/report но ничего не понял, куда смотреть и как искать проблему.

Может дело в версии докера? Но на KVM виртуалках все ок, на виртулаках в Azure (это не я, меня заставили) такая беда, версии и RPMки идентичны и из одного места.

Ответ на: комментарий от gadzira

Удалось починть?

Разработчики пофиксили софт (хелзчек форкался но не всегда умерал), а я задрал лимиты до 65536. Дискомфорт прошёл,и я как то подзабил, если не забуду понаблюдаю завтра и поделюсь инфой.

WoozyMasta ()