Приветствую.
Может сталкивался кто или подскажите как анализировать данную проблему?
Есть кубер:
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ки идентичны и из одного места.