![āĻā§āĻŦāĻžāϰāύā§āĻāϏā§āϰ āĻ
āĻĒāĻžāϰā§āĻļāύ⧠6āĻāĻŋ āĻŦāĻŋāύā§āĻĻāύāĻŽā§āϞāĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻŦāĻžāĻ [āĻāĻŦāĻ āϤāĻžāĻĻā§āϰ āϏāĻŽāĻžāϧāĻžāύ]](/wp-content/uploads/2019/03/bed059552ed86580939aa18fbdf1553e.jpg)
āĻā§āĻĒāĻžāĻĻāύ⧠āĻā§āĻŦāĻžāϰāύā§āĻāϏ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻŦāĻāϰā§āϰ āĻĒāϰ āĻŦāĻāϰ āϧāϰā§, āĻāĻŽāϰāĻž āĻŦāĻŋāĻāĻŋāύā§āύ āϏāĻŋāϏā§āĻā§āĻŽā§āϰ āĻāĻĒāĻžāĻĻāĻžāύā§āϰ āĻŦāĻžāĻāĻā§āϞāĻŋ āĻā§āĻāĻžāĻŦā§ āĻĒāĻžāϤā§āϰ āĻāĻŦāĻ āĻĒāĻĄāĻā§āϞāĻŋāϰ āĻā§āϰāĻŋāϝāĻŧāĻžāĻāϞāĻžāĻĒāĻā§ āĻĒā§āϰāĻāĻžāĻŦāĻŋāϤ āĻāϰ⧠āĻāĻŽāύ āĻ
āĻĒā§āϰā§āϤāĻŋāĻāϰ āĻāĻŦāĻ/āĻ
āĻĨāĻŦāĻž āĻŦā§āϧāĻāĻŽā§āϝ āĻĒāϰāĻŋāĻŖāϤāĻŋāϰ āĻĻāĻŋāĻā§ āĻĒāϰāĻŋāĻāĻžāϞāĻŋāϤ āĻāϰ⧠āϤāĻžāϰ āĻ
āύā§āĻ āĻāĻāϰā§āώāĻŖā§āϝāĻŧ āĻāϞā§āĻĒ āĻāĻŽāĻž āĻāϰā§āĻāĻŋāĨ¤ āĻāĻ āύāĻŋāĻŦāύā§āϧ⧠āĻāĻŽāϰāĻž āϏāĻŦāĻā§āϝāĻŧā§ āϏāĻžāϧāĻžāϰāĻŖ āĻŦāĻž āĻāĻāϰā§āώāĻŖā§āϝāĻŧ āĻāĻŋāĻā§āĻā§āϞāĻŋāϰ āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰā§āĻāĻŋāĨ¤ āĻāĻŽāύāĻāĻŋ āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ āĻāĻ āϧāϰāύā§āϰ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋāϰ āϏāĻŽā§āĻŽā§āĻā§āύ āĻšāĻāϝāĻŧāĻžāϰ āĻāύā§āϝ āϝāĻĨā§āώā§āĻ āĻāĻžāĻā§āϝāĻŦāĻžāύ āύāĻž āĻšāύ āϤāĻŦā§ āĻāĻ āϧāϰāύā§āϰ āĻā§āĻ āĻā§āϝāĻŧā§āύā§āĻĻāĻž āĻāϞā§āĻĒāĻā§āϞāĻŋ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻĒāĻĄāĻŧāĻž - āĻŦāĻŋāĻļā§āώ āĻāϰ⧠"āĻĢāĻžāϰā§āϏā§āĻ-āĻšā§āϝāĻžāύā§āĻĄ" - āϏāĻŦāϏāĻŽāϝāĻŧāĻ āĻāĻāϰā§āώāĻŖā§āϝāĻŧ, āϤāĻžāĻ āύāĻž? ..
āĻāϞā§āĻĒ 1. āϏā§āĻĒāĻžāϰāĻā§āϰā§āύāĻŋāĻ āĻāĻŦāĻ āĻĄāĻāĻžāϰ āĻā§āϞāύā§āϤ
āĻā§āϞāĻžāϏā§āĻāĻžāϰāĻā§āϞāĻŋāϰ āĻāĻāĻāĻŋāϤā§, āĻāĻŽāϰāĻž āĻĒāϰā§āϝāĻžāϝāĻŧāĻā§āϰāĻŽā§ āĻāĻāĻāĻŋ āĻšāĻŋāĻŽāĻžāϝāĻŧāĻŋāϤ āĻĄāĻāĻžāϰ āĻĒā§āϝāĻŧā§āĻāĻŋ, āϝāĻž āĻā§āϞāĻžāϏā§āĻāĻžāϰā§āϰ āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻā§āϰāĻŋāϝāĻŧāĻžāĻāϞāĻžāĻĒā§ āĻšāϏā§āϤāĻā§āώā§āĻĒ āĻāϰā§āĻāĻŋāϞāĨ¤ āĻāĻāĻ āϏāĻŽāϝāĻŧā§, āĻĄāĻāĻžāϰ āϞāĻāĻā§āϞāĻŋāϤ⧠āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤāĻā§āϞāĻŋ āĻĒāϰā§āϝāĻŦā§āĻā§āώāĻŖ āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞ:
level=error msg="containerd: start init process" error="exit status 2: "runtime/cgo: pthread_create failed: No space left on device
SIGABRT: abort
PC=0x7f31b811a428 m=0
goroutine 0 [idle]:
goroutine 1 [running]:
runtime.systemstack_switch() /usr/local/go/src/runtime/asm_amd64.s:252 fp=0xc420026768 sp=0xc420026760
runtime.main() /usr/local/go/src/runtime/proc.go:127 +0x6c fp=0xc4200267c0 sp=0xc420026768
runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:2086 +0x1 fp=0xc4200267c8 sp=0xc4200267c0
goroutine 17 [syscall, locked to thread]:
runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:2086 +0x1
âĻ āĻāĻ āϤā§āϰā§āĻāĻŋ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻŽāĻžāĻĻā§āϰ āϏāĻŦāĻā§āϝāĻŧā§ āĻāĻā§āϰāĻšā§āϰ āĻŦāĻŋāώāϝāĻŧ āĻšāϞ āĻŦāĻžāϰā§āϤāĻžāĻāĻŋ: pthread_create failed: No space left on device. āĻĻā§āϰā§āϤ āĻ
āϧā§āϝāϝāĻŧāύ āĻŦā§āϝāĻžāĻā§āϝāĻž āĻāϰā§āĻā§āύ āϝ⧠āĻĄāĻāĻžāϰ āĻāĻāĻāĻŋ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻāĻžāĻāĻāĻžāĻāĻžāĻŽāĻ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āύāĻž, āϝ⧠āĻāĻžāϰāĻŖā§ āĻāĻāĻŋ āĻĒāϰā§āϝāĻžāϝāĻŧāĻā§āϰāĻŽā§ āĻšāĻŋāĻŽāĻžāϝāĻŧāĻŋāϤ āĻšāϝāĻŧāĨ¤
āĻĒāϰā§āϝāĻŦā§āĻā§āώāĻŖā§, āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻāĻŋāϤā§āϰāĻāĻŋ āϝāĻž āĻāĻāĻā§ āϤāĻžāϰ āϏāĻžāĻĨā§ āĻŽāĻŋāϞ⧠āϝāĻžāϝāĻŧ:
![āĻā§āĻŦāĻžāϰāύā§āĻāϏā§āϰ āĻ
āĻĒāĻžāϰā§āĻļāύ⧠6āĻāĻŋ āĻŦāĻŋāύā§āĻĻāύāĻŽā§āϞāĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻŦāĻžāĻ [āĻāĻŦāĻ āϤāĻžāĻĻā§āϰ āϏāĻŽāĻžāϧāĻžāύ]](/wp-content/uploads/2019/03/bd778052c87b338493bae54b26830ef3.jpg)
āĻ
āύā§āϝāĻžāύā§āϝ āύā§āĻĄāĻā§āϞāĻŋāϤ⧠āĻ
āύā§āϰā§āĻĒ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋ āĻĒāϰāĻŋāϞāĻā§āώāĻŋāϤ āĻšāϝāĻŧ:
![āĻā§āĻŦāĻžāϰāύā§āĻāϏā§āϰ āĻ
āĻĒāĻžāϰā§āĻļāύ⧠6āĻāĻŋ āĻŦāĻŋāύā§āĻĻāύāĻŽā§āϞāĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻŦāĻžāĻ [āĻāĻŦāĻ āϤāĻžāĻĻā§āϰ āϏāĻŽāĻžāϧāĻžāύ]](/wp-content/uploads/2019/03/ef512532a95ca982e4342071115dbe9f.jpg)
![āĻā§āĻŦāĻžāϰāύā§āĻāϏā§āϰ āĻ
āĻĒāĻžāϰā§āĻļāύ⧠6āĻāĻŋ āĻŦāĻŋāύā§āĻĻāύāĻŽā§āϞāĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻŦāĻžāĻ [āĻāĻŦāĻ āϤāĻžāĻĻā§āϰ āϏāĻŽāĻžāϧāĻžāύ]](/wp-content/uploads/2019/03/43c32ebca78755dde348ed5e7ac75c79.jpg)
āĻāĻāĻ āύā§āĻĄāĻā§āϞāĻŋāϤ⧠āĻāĻŽāϰāĻž āĻĻā§āĻāϤ⧠āĻĒāĻžāĻ:
root@kube-node-1 ~ # ps auxfww | grep curl -c
19782
root@kube-node-1 ~ # ps auxfww | grep curl | head
root 16688 0.0 0.0 0 0 ? Z Feb06 0:00 | _ [curl] <defunct>
root 17398 0.0 0.0 0 0 ? Z Feb06 0:00 | _ [curl] <defunct>
root 16852 0.0 0.0 0 0 ? Z Feb06 0:00 | _ [curl] <defunct>
root 9473 0.0 0.0 0 0 ? Z Feb06 0:00 | _ [curl] <defunct>
root 4664 0.0 0.0 0 0 ? Z Feb06 0:00 | _ [curl] <defunct>
root 30571 0.0 0.0 0 0 ? Z Feb06 0:00 | _ [curl] <defunct>
root 24113 0.0 0.0 0 0 ? Z Feb06 0:00 | _ [curl] <defunct>
root 16475 0.0 0.0 0 0 ? Z Feb06 0:00 | _ [curl] <defunct>
root 7176 0.0 0.0 0 0 ? Z Feb06 0:00 | _ [curl] <defunct>
root 1090 0.0 0.0 0 0 ? Z Feb06 0:00 | _ [curl] <defunct>āĻĻā§āĻāĻž āĻā§āϞ āϝ⧠āĻāĻ āĻāĻāϰāĻŖāĻāĻŋ āĻĒāĻĄā§āϰ āϏāĻžāĻĨā§ āĻāĻžāĻ āĻāϰāĻžāϰ āĻĢāϞāĻžāĻĢāϞ (āĻāĻāĻāĻŋ āĻā§ āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋ āϝāĻž āĻāĻŽāϰāĻž āĻĒāĻĄāĻā§āϞāĻŋāϤ⧠āĻā§āϰāύ āĻāĻžāĻāĻā§āϞāĻŋ āĻāĻžāϞāĻžāύā§āϰ āĻāύā§āϝ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻŋ):
_ docker-containerd-shim 833b60bb9ff4c669bb413b898a5fd142a57a21695e5dc42684235df907825567 /var/run/docker/libcontainerd/833b60bb9ff4c669bb413b898a5fd142a57a21695e5dc42684235df907825567 docker-runc
| _ /usr/local/bin/supercronic -json /crontabs/cron
| _ /usr/bin/newrelic-daemon --agent --pidfile /var/run/newrelic-daemon.pid --logfile /dev/stderr --port /run/newrelic.sock --tls --define utilization.detect_aws=true --define utilization.detect_azure=true --define utilization.detect_gcp=true --define utilization.detect_pcf=true --define utilization.detect_docker=true
| | _ /usr/bin/newrelic-daemon --agent --pidfile /var/run/newrelic-daemon.pid --logfile /dev/stderr --port /run/newrelic.sock --tls --define utilization.detect_aws=true --define utilization.detect_azure=true --define utilization.detect_gcp=true --define utilization.detect_pcf=true --define utilization.detect_docker=true -no-pidfile
| _ [newrelic-daemon] <defunct>
| _ [curl] <defunct>
| _ [curl] <defunct>
| _ [curl] <defunct>
âĻāϏāĻŽāϏā§āϝāĻžāĻāĻŋ āĻšāϞ: āϝāĻāύ āĻāĻāĻāĻŋ āĻāĻžāĻ āϏā§āĻĒāĻžāϰāĻā§āϰā§āύāĻŋāĻāĻāĻžāĻŦā§ āĻāĻžāϞāĻžāύ⧠āĻšāϝāĻŧ, āϤāĻāύ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻāĻŋ āĻāĻāĻŋ āĻĻā§āĻŦāĻžāϰāĻž āĻāĻĻā§āĻā§āϤ āĻšāϝāĻŧ āϏāĻ āĻŋāĻāĻāĻžāĻŦā§ āĻļā§āώ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āύāĻž, āĻŽāϧā§āϝ⧠āĻŦāĻžāĻāĻ .
āĻŽāύā§āϤāĻŦā§āϝ: āĻāϰāĻ āϏā§āύāĻŋāϰā§āĻĻāĻŋāώā§āĻāĻāĻžāĻŦā§ āĻŦāϞāϤ⧠āĻā§āϞā§, āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻā§āϞāĻŋ āĻā§āϰā§āύ āĻāĻžāϏā§āĻāĻā§āϞāĻŋāϰ āĻĻā§āĻŦāĻžāϰāĻž āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧ, āĻāĻŋāύā§āϤ⧠āϏā§āĻĒāĻžāϰāĻā§āϰā§āύāĻŋāĻ āĻāĻāĻāĻŋ āĻāύāĻŋāĻ āϏāĻŋāϏā§āĻā§āĻŽ āύāϝāĻŧ āĻāĻŦāĻ āĻāĻāĻŋāϰ āĻŦāĻžāĻā§āĻāĻžāϰāĻž āϝ⧠āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻā§āϞāĻŋ āϤā§āϰāĻŋ āĻāϰā§āĻā§ āϤāĻž "āĻĻāϤā§āϤāĻ" āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āύāĻžā§ˇ āϝāĻāύ SIGHUP āĻŦāĻž SIGTERM āϏāĻāĻā§āϤāĻā§āϞāĻŋ āĻāϤā§āĻĨāĻžāĻĒāĻŋāϤ āĻšāϝāĻŧ, āϤāĻāύ āϏā§āĻā§āϞāĻŋ āĻļāĻŋāĻļā§ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻā§āϞāĻŋāϤ⧠āĻĒā§āϰā§āϰāĻŖ āĻāϰāĻž āĻšāϝāĻŧ āύāĻž, āϝāĻžāϰ āĻĢāϞ⧠āĻļāĻŋāĻļā§ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻā§āϞāĻŋ āĻŦāύā§āϧ āĻšāϝāĻŧ āύāĻž āĻāĻŦāĻ āĻāĻŽā§āĻŦāĻŋ āĻ āĻŦāϏā§āĻĨāĻžāϝāĻŧ āĻĨāĻžāĻā§āĨ¤ āĻāĻĒāύāĻŋ āĻāĻ āϏāĻŦ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāϰāĻ āĻĒāĻĄāĻŧāϤ⧠āĻĒāĻžāϰā§āύ, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻŽāϧā§āϝ⧠.
āϏāĻŽāϏā§āϝāĻž āϏāĻŽāĻžāϧāĻžāύā§āϰ āĻāϝāĻŧā§āĻāĻāĻŋ āĻāĻĒāĻžāϝāĻŧ āϰāϝāĻŧā§āĻā§:
- āĻāĻāĻāĻŋ āĻ
āϏā§āĻĨāĻžāϝāĻŧā§ āϏāĻŽāĻžāϧāĻžāύ āĻšāĻŋāϏāĻžāĻŦā§ - āϏāĻŽāϝāĻŧā§ āĻāĻāĻ āϏāĻŽāϝāĻŧā§ āϏāĻŋāϏā§āĻā§āĻŽā§ āĻĒāĻŋāĻāĻāĻĄāĻŋ-āϰ āϏāĻāĻā§āϝāĻž āĻŦāĻžāĻĄāĻŧāĻžāύ:
/proc/sys/kernel/pid_max (since Linux 2.5.34) This file specifies the value at which PIDs wrap around (i.e., the value in this file is one greater than the maximum PID). PIDs greater than this value are not alloâ cated; thus, the value in this file also acts as a system-wide limit on the total number of processes and threads. The default value for this file, 32768, results in the same range of PIDs as on earlier kernels - āĻ āĻĨāĻŦāĻž āϏāϰāĻžāϏāϰāĻŋ āύāĻž, āĻāĻŋāύā§āϤ⧠āĻāĻāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϏā§āĻĒāĻžāϰāĻā§āϰā§āύāĻŋāĻ-āĻ āĻāĻžāĻāĻā§āϞāĻŋ āĻāĻžāϞ⧠āĻāϰā§āύ , āϝāĻž āϏāĻ āĻŋāĻāĻāĻžāĻŦā§ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻŦāύā§āϧ āĻāϰāϤ⧠āϏāĻā§āώāĻŽ āĻāĻŦāĻ āĻāĻŽā§āĻŦāĻŋāĻĻā§āϰ āĻāύā§āĻŽ āĻĻāĻŋāϤ⧠āĻĒāĻžāϰ⧠āύāĻžāĨ¤
āĻāϞā§āĻĒ 2. āĻāĻāĻāĻŋ cgroup āĻŽā§āĻā§ āĻĢā§āϞāĻžāϰ āϏāĻŽāϝāĻŧ "āĻāĻŽā§āĻŦāĻŋ"
āĻā§āĻŦā§āϞā§āĻ āĻĒā§āϰāĻā§āϰ āϏāĻŋāĻĒāĻŋāĻāĻ āĻā§āϰāĻšāĻŖ āĻāϰāϤ⧠āĻļā§āϰ⧠āĻāϰā§āĻā§:
![āĻā§āĻŦāĻžāϰāύā§āĻāϏā§āϰ āĻ
āĻĒāĻžāϰā§āĻļāύ⧠6āĻāĻŋ āĻŦāĻŋāύā§āĻĻāύāĻŽā§āϞāĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻŦāĻžāĻ [āĻāĻŦāĻ āϤāĻžāĻĻā§āϰ āϏāĻŽāĻžāϧāĻžāύ]](/wp-content/uploads/2019/03/6140058330faaa3785b089dcba857056.jpg)
āĻā§āĻ āĻāĻāĻŋ āĻĒāĻāύā§āĻĻ āĻāϰāĻŦā§ āύāĻž, āϤāĻžāĻ āĻāĻŽāϰāĻž āύāĻŋāĻā§āĻĻā§āϰāĻā§ āϏāĻļāϏā§āϤā§āϰ āĻāϰā§āĻāĻŋ āĻāĻŦāĻ āϏāĻŽāϏā§āϝāĻž āĻŽā§āĻāĻžāĻŦā§āϞāĻž āĻļā§āϰā§. āϤāĻĻāύā§āϤā§āϰ āĻĢāϞāĻžāĻĢāϞ āύāĻŋāĻŽā§āύāϰā§āĻĒ āĻāĻŋāϞ:
- āĻā§āĻŦā§āϞā§āĻ āϤāĻžāϰ CPU āϏāĻŽāϝāĻŧā§āϰ āĻāĻ āϤā§āϤā§āϝāĻŧāĻžāĻāĻļā§āϰāĻ āĻŦā§āĻļāĻŋ āϏāĻŽāϝāĻŧ āĻŦā§āϝāϝāĻŧ āĻāϰ⧠āϏāĻŽāϏā§āϤ cgroups āĻĨā§āĻā§ āĻŽā§āĻŽāϰāĻŋ āĻĄā§āĻāĻž āĻāĻžāύāϤā§:
![āĻā§āĻŦāĻžāϰāύā§āĻāϏā§āϰ āĻ
āĻĒāĻžāϰā§āĻļāύ⧠6āĻāĻŋ āĻŦāĻŋāύā§āĻĻāύāĻŽā§āϞāĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻŦāĻžāĻ [āĻāĻŦāĻ āϤāĻžāĻĻā§āϰ āϏāĻŽāĻžāϧāĻžāύ]](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20600%20241'%3E%3C/svg%3E)
- āĻāĻžāϰā§āύā§āϞ āĻĄā§āĻā§āϞāĻĒāĻžāϰāĻĻā§āϰ āĻŽā§āĻāϞāĻŋāĻ āϞāĻŋāϏā§āĻā§ āĻāĻĒāύāĻŋ āĻā§āĻāĻā§ āĻĒā§āϤ⧠āĻĒāĻžāϰā§āύ . āϏāĻāĻā§āώā§āĻĒā§, āĻŦāĻŋāύā§āĻĻā§ āĻāĻāĻžāύ⧠āύā§āĻŽā§ āĻāϏā§: āĻŦāĻŋāĻāĻŋāύā§āύ tmpfs āĻĢāĻžāĻāϞ āĻāĻŦāĻ āĻ āύā§āϝāĻžāύā§āϝ āĻ āύā§āϰā§āĻĒ āĻāĻŋāύāĻŋāϏāĻā§āϞāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖāϰā§āĻĒā§ āϏāĻŋāϏā§āĻā§āĻŽ āĻĨā§āĻā§ āϏāϰāĻžāύ⧠āĻšāϝāĻŧ āύāĻž āĻāĻāĻāĻŋ cgroup āĻŽā§āĻā§ āĻĢā§āϞāĻžāϰ āϏāĻŽāϝāĻŧ, āϤāĻĨāĻžāĻāĻĨāĻŋāϤ āĻŦā§āĻāĻāύā§āĻĻāϰ. āĻļā§āĻā§āϰāĻ āĻŦāĻž āĻĒāϰ⧠āϤāĻžāϰāĻž āĻĒā§āώā§āĻ āĻž āĻā§āϝāĻžāĻļā§ āĻĨā§āĻā§ āĻŽā§āĻā§ āĻĢā§āϞāĻž āĻšāĻŦā§, āĻāĻŋāύā§āϤ⧠āϏāĻžāϰā§āĻāĻžāϰ⧠āĻ āύā§āĻ āĻŽā§āĻŽāϰāĻŋ āĻāĻā§ āĻāĻŦāĻ āĻāĻžāϰā§āύā§āϞ āϤāĻžāĻĻā§āϰ āĻŽā§āĻā§ āĻĢā§āϞāĻžāϰ āϏāĻŽāϝāĻŧ āύāώā§āĻ āĻāϰāĻžāϰ āĻŦāĻŋāύā§āĻĻā§ āĻĻā§āĻāϤ⧠āĻĒāĻžāϝāĻŧ āύāĻžāĨ¤ āϏā§āĻāύā§āϝ āϤāĻžāϰāĻž āĻāĻŽāĻžāĻ āĻŦāĻžāĻāϧāϤ⧠āĻĨāĻžāĻā§āĨ¤ āĻā§āύ āĻāĻāĻž āĻāĻŽāύāĻāĻŋ āĻāĻāĻā§? āĻāĻāĻŋ āĻā§āϰāύ āĻāĻŦ āϏāĻš āĻāĻāĻāĻŋ āϏāĻžāϰā§āĻāĻžāϰ āϝāĻž āĻā§āϰāĻŽāĻžāĻāϤ āύāϤā§āύ āĻāĻžāĻ āϤā§āϰāĻŋ āĻāϰ⧠āĻāĻŦāĻ āϤāĻžāĻĻā§āϰ āϏāĻžāĻĨā§ āύāϤā§āύ āĻĒāĻĄāĨ¤ āĻāĻāĻāĻžāĻŦā§, āϤāĻžāĻĻā§āϰ āĻŽāϧā§āϝ⧠āĻāύā§āĻā§āĻāύāĻžāϰāĻā§āϞāĻŋāϰ āĻāύā§āϝ āύāϤā§āύ cgroups āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧ, āϝāĻž āĻļā§āĻā§āϰāĻ āĻŽā§āĻā§ āĻĢā§āϞāĻž āĻšāϝāĻŧāĨ¤
- āĻā§āĻŦā§āϞā§āĻā§ āϏāĻŋāĻāĻĄāĻāĻžāĻāĻāĻžāϰ āĻāϤ āϏāĻŽāϝāĻŧ āύāώā§āĻ āĻāϰ⧠āĻā§āύ? āĻāĻāĻŋ āϏāĻšāĻāϤāĻŽ āĻŽā§āϤā§āϝā§āĻĻāύā§āĻĄ āĻĻāĻŋāϝāĻŧā§ āĻĻā§āĻāĻž āϏāĻšāĻ
time cat /sys/fs/cgroup/memory/memory.stat. āϝāĻĻāĻŋ āĻāĻāĻāĻŋ āϏā§āϏā§āĻĨ āĻŽā§āĻļāĻŋāύ⧠āĻ āĻĒāĻžāϰā§āĻļāύāĻāĻŋ 0,01 āϏā§āĻā§āύā§āĻĄ āϏāĻŽāϝāĻŧ āύā§āϝāĻŧ, āϤāĻŦā§ āϏāĻŽāϏā§āϝāĻžāϝā§āĻā§āϤ āĻā§āϰā§āύ02 āĻ āĻāĻāĻŋ 1,2 āϏā§āĻā§āύā§āĻĄ āϏāĻŽāϝāĻŧ āύā§āϝāĻŧāĨ¤ āĻŦā§āϝāĻžāĻĒāĻžāϰāĻāĻŋ āĻšāϞ āϏāĻŋāĻāĻĄāĻāĻžāĻāĻāĻžāϰ, āϝāĻž āĻā§āĻŦ āϧā§āϰ⧠āϧā§āϰ⧠sysfs āĻĨā§āĻā§ āĻĄā§āĻāĻž āĻĒāĻĄāĻŧā§, zombie cgroups-āĻ āĻŦā§āϝāĻŦāĻšā§āϤ āĻŽā§āĻŽāϰāĻŋ āĻŦāĻŋāĻŦā§āĻāύāĻž āĻāϰāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰā§āĨ¤ - āĻā§āĻŽā§āĻŦāĻŋāĻā§āϞāĻŋāĻā§ āĻā§āϰāĻĒā§āϰā§āĻŦāĻ āĻ
āĻĒāϏāĻžāϰāĻŖ āĻāϰāĻžāϰ āĻāύā§āϝ, āĻāĻŽāϰāĻž LKML-āĻ āϏā§āĻĒāĻžāϰāĻŋāĻļāĻā§āϤ āĻā§āϝāĻžāĻļā§ āϏāĻžāĻĢ āĻāϰāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰā§āĻāĻŋ:
sync; echo 3 > /proc/sys/vm/drop_caches, - āϤāĻŦā§ āĻāĻžāϰā§āύā§āϞāĻāĻŋ āĻāϰāĻ āĻāĻāĻŋāϞ āĻšāϝāĻŧā§ āĻāĻ āϞ āĻāĻŦāĻ āĻāĻžāĻĄāĻŧāĻŋāĻāĻŋ āĻŦāĻŋāϧā§āĻŦāϏā§āϤ āĻšāϝāĻŧā§āĻā§āĨ¤
āĻāĻŋ āĻāϰā§? āϏāĻŽāϏā§āϝāĻžāĻāĻŋ āĻ āĻŋāĻ āĻāϰāĻž āĻšāĻā§āĻā§ (, āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻŦāϰā§āĻŖāύāĻžāϰ āĻāύā§āϝ āĻĻā§āĻā§āύ āĻāĻžāϰā§āύā§āϞ āĻāĻĒāĻĄā§āĻ Linux āϏāĻāϏā§āĻāϰāĻŖ 4.16 āĻĒāϰā§āϝāύā§āϤāĨ¤
āĻāϤāĻŋāĻšāĻžāϏ 3. Systemd āĻāĻŦāĻ āĻāϰ āĻŽāĻžāĻāύā§āĻ
āĻāĻŦāĻžāϰ, āĻā§āĻŦā§āϞā§āĻ āĻāĻŋāĻā§ āύā§āĻĄāĻā§āϞāĻŋāϤ⧠āĻ āύā§āĻ āĻŦā§āĻļāĻŋ āϏāĻāϏā§āĻĨāĻžāύ āĻā§āϰāĻšāĻŖ āĻāϰāĻā§, āĻāĻŋāύā§āϤ⧠āĻāĻ āϏāĻŽāϝāĻŧ āĻāĻāĻŋ āĻā§āĻŦ āĻŦā§āĻļāĻŋ āĻŽā§āĻŽāϰāĻŋ āĻā§āϰāĻžāϏ āĻāϰāĻā§:
![āĻā§āĻŦāĻžāϰāύā§āĻāϏā§āϰ āĻ
āĻĒāĻžāϰā§āĻļāύ⧠6āĻāĻŋ āĻŦāĻŋāύā§āĻĻāύāĻŽā§āϞāĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻŦāĻžāĻ [āĻāĻŦāĻ āϤāĻžāĻĻā§āϰ āϏāĻŽāĻžāϧāĻžāύ]](/wp-content/uploads/2019/03/044c4e23a772c61a6206b9b20aa67c1d.jpg)
āĻĻā§āĻāĻž āĻā§āϞ āϝ⧠āĻŦā§āϝāĻŦāĻšā§āϤ systemd-āϤ⧠āĻāĻāĻāĻŋ āϏāĻŽāϏā§āϝāĻž āĻāĻŋāϞāĨ¤ Ubuntu ā§§ā§Ŧ.ā§Ļā§Ē, āĻāĻŦāĻ āĻāĻāĻŋ āϏāĻāϝā§āĻā§āϰ āĻāύā§āϝ āϤā§āϰāĻŋ āĻāϰāĻž āĻŽāĻžāĻāύā§āĻāĻā§āϞāĻŋ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻā§āĨ¤ subPath ConfigMap āĻāϰ āĻŦāĻž āĻā§āĻĒāύ āĻāϰ āĻĨā§āĻā§āĨ¤ āĻĒā§āĻĻā§āϰ āĻāĻžāĻ āĻļā§āώ āĻāϰāĻžāϰ āĻĒāϰ systemd āĻĒāϰāĻŋāώā§āĻŦāĻž āĻāĻŦāĻ āĻāϰ āĻĒāϰāĻŋāώā§āĻŦāĻž āĻŽāĻžāĻāύā§āĻ āĻĨāĻžāĻā§ āϏāĻŋāϏā§āĻā§āĻŽā§ āϏāĻŽāϝāĻŧā§āϰ āϏāĻžāĻĨā§ āϏāĻžāĻĨā§, āϤāĻžāĻĻā§āϰ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļāĻžāϞ āϏāĻāĻā§āϝāĻž āĻāĻŽāĻž āĻšāϝāĻŧāĨ¤ āĻāĻ āĻŦāĻŋāώāϝāĻŧā§ āĻāĻŽāύāĻāĻŋ āϏāĻŽāϏā§āϝāĻž āĻāĻā§:
- ;
- .
...āϝāĻžāϰ āĻļā§āώāĻāĻŋ systemd-āĻ PR-āĻā§ āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰā§: (āϏāĻŋāϏā§āĻā§āĻŽā§ āϏāĻŽāϏā§āϝāĻž - ).
āϏāĻŽāϏā§āϝāĻžāĻāĻŋ āĻāϰ āύā§āĻāĨ¤ Ubuntu ā§§ā§Ž.ā§Ļā§Ē, āĻāĻŋāύā§āϤ⧠āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻžāϞāĻŋāϝāĻŧā§ āϝā§āϤ⧠āĻāĻžāύ Ubuntu ā§§ā§Ŧ.ā§Ļā§Ē, āĻāĻ āĻŦāĻŋāώāϝāĻŧā§ āĻāĻŽāĻžāĻĻā§āϰ āĻŦāĻŋāĻāϞā§āĻĒ āϏāĻŽāĻžāϧāĻžāύāĻāĻŋ āĻāĻĒāύāĻžāϰ āĻāĻžāĻā§ āϞāĻžāĻāϤ⧠āĻĒāĻžāϰā§āĨ¤
āϤāĻžāĻ āĻāĻŽāϰāĻž āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻĄā§āĻŽāύāϏā§āĻ āϤā§āϰāĻŋ āĻāϰā§āĻāĻŋ:
---
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
labels:
app: systemd-slices-cleaner
name: systemd-slices-cleaner
namespace: kube-system
spec:
updateStrategy:
type: RollingUpdate
selector:
matchLabels:
app: systemd-slices-cleaner
template:
metadata:
labels:
app: systemd-slices-cleaner
spec:
containers:
- command:
- /usr/local/bin/supercronic
- -json
- /app/crontab
Image: private-registry.org/systemd-slices-cleaner/systemd-slices-cleaner:v0.1.0
imagePullPolicy: Always
name: systemd-slices-cleaner
resources: {}
securityContext:
privileged: true
volumeMounts:
- name: systemd
mountPath: /run/systemd/private
- name: docker
mountPath: /run/docker.sock
- name: systemd-etc
mountPath: /etc/systemd
- name: systemd-run
mountPath: /run/systemd/system/
- name: lsb-release
mountPath: /etc/lsb-release-host
imagePullSecrets:
- name: antiopa-registry
priorityClassName: cluster-low
tolerations:
- operator: Exists
volumes:
- name: systemd
hostPath:
path: /run/systemd/private
- name: docker
hostPath:
path: /run/docker.sock
- name: systemd-etc
hostPath:
path: /etc/systemd
- name: systemd-run
hostPath:
path: /run/systemd/system/
- name: lsb-release
hostPath:
path: /etc/lsb-release... āĻāĻŦāĻ āĻāĻāĻŋ āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§:
#!/bin/bash
# we will work only on xenial
hostrelease="/etc/lsb-release-host"
test -f ${hostrelease} && grep xenial ${hostrelease} > /dev/null || exit 0
# sleeping max 30 minutes to dispense load on kube-nodes
sleep $((RANDOM % 1800))
stoppedCount=0
# counting actual subpath units in systemd
countBefore=$(systemctl list-units | grep subpath | grep "run-" | wc -l)
# let's go check each unit
for unit in $(systemctl list-units | grep subpath | grep "run-" | awk '{print $1}'); do
# finding description file for unit (to find out docker container, who born this unit)
DropFile=$(systemctl status ${unit} | grep Drop | awk -F': ' '{print $2}')
# reading uuid for docker container from description file
DockerContainerId=$(cat ${DropFile}/50-Description.conf | awk '{print $5}' | cut -d/ -f6)
# checking container status (running or not)
checkFlag=$(docker ps | grep -c ${DockerContainerId})
# if container not running, we will stop unit
if [[ ${checkFlag} -eq 0 ]]; then
echo "Stopping unit ${unit}"
# stoping unit in action
systemctl stop $unit
# just counter for logs
((stoppedCount++))
# logging current progress
echo "Stopped ${stoppedCount} systemd units out of ${countBefore}"
fi
done... āĻāĻŦāĻ āĻāĻāĻŋ āĻĒā§āϰā§āĻŦā§ āĻāϞā§āϞā§āĻāĻŋāϤ āϏā§āĻĒāĻžāϰāĻā§āϰā§āύāĻŋāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻĒā§āϰāϤāĻŋ 5 āĻŽāĻŋāύāĻŋāĻā§ āĻāϞā§āĨ¤ āĻāϰ āĻĄāĻāĻžāϰāĻĢāĻžāĻāϞāĻāĻŋ āĻāĻāϰāĻāĻŽ āĻĻā§āĻāĻžāĻā§āĻā§:
FROM ubuntu:16.04
COPY rootfs /
WORKDIR /app
RUN apt-get update &&
apt-get upgrade -y &&
apt-get install -y gnupg curl apt-transport-https software-properties-common wget
RUN add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable" &&
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - &&
apt-get update &&
apt-get install -y docker-ce=17.03.0*
RUN wget https://github.com/aptible/supercronic/releases/download/v0.1.6/supercronic-linux-amd64 -O
/usr/local/bin/supercronic && chmod +x /usr/local/bin/supercronic
ENTRYPOINT ["/bin/bash", "-c", "/usr/local/bin/supercronic -json /app/crontab"]āĻāϞā§āĻĒ 4. āĻĒāĻĄ āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻĒā§āϰāϤāĻŋāϝā§āĻāĻŋāϤāĻžāĻŽā§āϞāĻāϤāĻž
āĻāĻāĻŋ āϞāĻā§āώā§āϝ āĻāϰāĻž āĻā§āĻā§ āϝā§: āϝāĻĻāĻŋ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻāĻāĻŋ āύā§āĻĄā§āϰ āĻāĻĒāϰ āĻāĻāĻāĻŋ āĻĒāĻĄ āϰāĻžāĻāĻž āĻĨāĻžāĻā§ āĻāĻŦāĻ āĻāϰ āĻāĻŋāϤā§āϰāĻāĻŋ āĻā§āĻŦ āĻĻā§āϰā§āĻ āϏāĻŽāϝāĻŧā§āϰ āĻāύā§āϝ āĻĒāĻžāĻŽā§āĻĒ āĻāϰāĻž āĻšāϝāĻŧ, āϤāĻŦā§ āĻāϰā§āĻāĻāĻŋ āĻĒāĻĄ āϝāĻž āĻāĻāĻ āύā§āĻĄāĻā§ "āĻšāĻŋāĻ" āĻāϰāĻŦā§ āύāϤā§āύ āĻĒā§āĻĻā§āϰ āĻāĻŽā§āĻ āĻāĻžāύāϤ⧠āĻļā§āϰ⧠āĻāϰ⧠āύāĻž. āĻĒāϰāĻŋāĻŦāϰā§āϤā§, āĻĒā§āϰā§āĻŦāĻŦāϰā§āϤ⧠āĻĒāĻĄā§āϰ āĻāĻŋāϤā§āϰāĻāĻŋ āĻāĻžāύāĻž āύāĻž āĻšāĻāϝāĻŧāĻž āĻĒāϰā§āϝāύā§āϤ āĻāĻāĻŋ āĻ
āĻĒā§āĻā§āώāĻž āĻāϰā§āĨ¤ āĻĢāϞāϏā§āĻŦāϰā§āĻĒ, āĻāĻāĻāĻŋ āĻĒāĻĄ āϝāĻž āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āύāĻŋāϰā§āϧāĻžāϰāĻŋāϤ āĻāĻŋāϞ āĻāĻŦāĻ āϝāĻžāϰ āĻāĻŋāϤā§āϰāĻāĻŋ āĻŽāĻžāϤā§āϰ āĻāĻ āĻŽāĻŋāύāĻŋāĻā§āϰ āĻŽāϧā§āϝ⧠āĻĄāĻžāĻāύāϞā§āĻĄ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰ⧠āϤāĻžāϰ āϏā§āĻā§āϝāĻžāĻāĻžāϏ⧠āĻļā§āώ āĻšāĻŦā§ containerCreating.
āĻāĻā§āύā§āĻāĻā§āϞāĻŋ āĻāĻāϰāĻāĻŽ āĻāĻŋāĻā§ āĻĻā§āĻāĻžāĻŦā§:
Normal Pulling 8m kubelet, ip-10-241-44-128.ap-northeast-1.compute.internal pulling image "registry.example.com/infra/openvpn/openvpn:master"āĻāĻāĻž āϝ⧠āϏāĻā§āϰāĻŋāϝāĻŧ āĻāĻāĻ āĻāĻāĻāĻŋ āϧā§āϰ āϰā§āĻāĻŋāϏā§āĻā§āϰāĻŋ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻāĻāĻ āĻāĻŋāϤā§āϰ āϏā§āĻĨāĻžāĻĒāύāĻž āĻŦā§āϞāĻ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āĻĒā§āϰāϤāĻŋ āύā§āĻĄ
āĻĻā§āϰā§āĻāĻžāĻā§āϝāĻŦāĻļāϤ, āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋ āĻĨā§āĻā§ āĻŦā§āϰāĻŋāϝāĻŧā§ āĻāϏāĻžāϰ āĻ āύā§āĻ āĻāĻĒāĻžāϝāĻŧ āύā§āĻ:
- āĻāĻĒāύāĻžāϰ āĻĄāĻāĻžāϰ āϰā§āĻāĻŋāϏā§āĻā§āϰāĻŋ āϏāϰāĻžāϏāϰāĻŋ āĻā§āϞāĻžāϏā§āĻāĻžāϰ⧠āĻŦāĻž āϏāϰāĻžāϏāϰāĻŋ āĻā§āϞāĻžāϏā§āĻāĻžāϰā§āϰ āϏāĻžāĻĨā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰā§āύ (āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻŋāĻāϞā§āϝāĻžāĻŦ āϰā§āĻāĻŋāϏā§āĻā§āϰāĻŋ, āύā§āĻā§āϏāĻžāϏ, āĻāϤā§āϝāĻžāĻĻāĻŋ);
- āϝā§āĻŽāύ āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ .
āĻāϞā§āĻĒ 5. āϏā§āĻŽā§āϤāĻŋāϰ āĻ āĻāĻžāĻŦā§ āύā§āĻĄ āĻā§āϞ⧠āϝāĻžāϝāĻŧ
āĻŦāĻŋāĻāĻŋāύā§āύ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύā§āϰ āĻ āĻĒāĻžāϰā§āĻļāύ āĻāϞāĻžāĻāĻžāϞā§āύ, āĻāĻŽāϰāĻž āĻāĻŽāύ āĻāĻāĻāĻŋ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋāϰ āϏāĻŽā§āĻŽā§āĻā§āύ āĻšāϝāĻŧā§āĻāĻŋ āϝā§āĻāĻžāύ⧠āĻāĻāĻāĻŋ āύā§āĻĄ āϏāĻŽā§āĻĒā§āϰā§āĻŖāϰā§āĻĒā§ āĻ ā§āϝāĻžāĻā§āϏā§āϏāϝā§āĻā§āϝ āĻšāĻāϝāĻŧāĻž āĻŦāύā§āϧ āĻāϰ⧠āĻĻā§āϝāĻŧ: SSH āϏāĻžāĻĄāĻŧāĻž āĻĻā§āϝāĻŧ āύāĻž, āϏāĻŽāϏā§āϤ āĻŽāύāĻŋāĻāϰāĻŋāĻ āĻĄā§āĻŽāύ āĻĒāĻĄāĻŧā§ āϝāĻžāϝāĻŧ āĻāĻŦāĻ āϤāĻžāϰāĻĒāϰ⧠āϞāĻāĻā§āϞāĻŋāϤ⧠āĻ āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻāĻŋāĻā§āĻ (āĻŦāĻž āĻĒā§āϰāĻžāϝāĻŧ āĻāĻŋāĻā§āĻ) āύā§āĻāĨ¤
āĻāĻŽāĻŋ āĻāĻĒāύāĻžāĻā§ āĻāĻāĻāĻŋ āύā§āĻĄā§āϰ āĻāĻĻāĻžāĻšāϰāĻŖ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻŦāĻŋāϤ⧠āĻŦāϞāĻŦ āϝā§āĻāĻžāύ⧠MongoDB āĻāĻžāĻ āĻāϰā§āĨ¤
āĻāĻ āĻāĻĒāϰā§āϰ āĻŽāϤ āĻĻā§āĻāĻžāϝāĻŧ āĻāĻŋ āĻĨā§āĻā§ āĻĻā§āϰā§āĻāĻāύāĻž:
![āĻā§āĻŦāĻžāϰāύā§āĻāϏā§āϰ āĻ
āĻĒāĻžāϰā§āĻļāύ⧠6āĻāĻŋ āĻŦāĻŋāύā§āĻĻāύāĻŽā§āϞāĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻŦāĻžāĻ [āĻāĻŦāĻ āϤāĻžāĻĻā§āϰ āϏāĻŽāĻžāϧāĻžāύ]](/wp-content/uploads/2019/03/5de916d270a862cbcbb5ed23c31f698e.jpg)
āĻāĻŦāĻ āĻāĻ āĻŽāϤ - ĐŋĐžŅĐģĐĩ āĻĻā§āϰā§āĻāĻāύāĻž:
![āĻā§āĻŦāĻžāϰāύā§āĻāϏā§āϰ āĻ
āĻĒāĻžāϰā§āĻļāύ⧠6āĻāĻŋ āĻŦāĻŋāύā§āĻĻāύāĻŽā§āϞāĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻŦāĻžāĻ [āĻāĻŦāĻ āϤāĻžāĻĻā§āϰ āϏāĻŽāĻžāϧāĻžāύ]](/wp-content/uploads/2019/03/0f32bf1113204cf19f4639a297e40348.jpg)
āĻĒāϰā§āϝāĻŦā§āĻā§āώāĻŖā§, āĻāĻāĻāĻŋ āϤā§āĻā§āώā§āĻŖ āϞāĻžāĻĢāĻ āϰāϝāĻŧā§āĻā§, āϝā§āĻāĻžāύ⧠āύā§āĻĄāĻāĻŋ āĻāĻĒāϞāĻŦā§āϧ āĻšāĻāϝāĻŧāĻž āĻŦāύā§āϧ āĻāϰ⧠āĻĻā§āϝāĻŧ:
![āĻā§āĻŦāĻžāϰāύā§āĻāϏā§āϰ āĻ
āĻĒāĻžāϰā§āĻļāύ⧠6āĻāĻŋ āĻŦāĻŋāύā§āĻĻāύāĻŽā§āϞāĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻŦāĻžāĻ [āĻāĻŦāĻ āϤāĻžāĻĻā§āϰ āϏāĻŽāĻžāϧāĻžāύ]](/wp-content/uploads/2019/03/31e770cac5be32bb7f95cfbbc6b9f1ae.jpg)
āϏā§āϤāϰāĻžāĻ, āϏā§āĻā§āϰāĻŋāύāĻļāĻ āĻĨā§āĻā§ āĻāĻāĻŋ āϏā§āĻĒāώā§āĻ āϝā§:
- āĻŽā§āĻļāĻŋāύ⧠RAM āĻļā§āώā§āϰ āĻāĻžāĻāĻžāĻāĻžāĻāĻŋ;
- RAM āĻāϰāĻā§ āĻāĻāĻāĻŋ āϤā§āĻā§āώā§āĻŖ āϞāĻžāĻĢ āϰāϝāĻŧā§āĻā§, āϝāĻžāϰ āĻĒāϰ⧠āĻĒā§āϰ⧠āĻŽā§āĻļāĻŋāύ⧠āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻšāĻ āĻžā§ āĻ āĻā§āώāĻŽ āĻāϰāĻž āĻšāϝāĻŧ;
- āĻŽāĻā§āĻā§āϤ⧠āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻāĻžāĻ āĻāϏā§, āϝāĻž āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻā§ āĻāϰāĻ āĻŽā§āĻŽāϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻāĻŦāĻ āĻĄāĻŋāϏā§āĻ āĻĨā§āĻā§ āϏāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻĒāĻĄāĻŧāϤ⧠āĻŦāĻžāϧā§āϝ āĻāϰā§āĨ¤
āĻĻā§āĻāĻž āϝāĻžāĻā§āĻā§ āϝ⧠āϝāĻĻāĻŋ āĻŽāϧā§āϝ⧠Linux āĻĢā§āϰāĻŋ āĻŽā§āĻŽā§āϰāĻŋ āĻļā§āώ āĻšāϝāĻŧā§ āĻā§āϞ⧠(āĻŽā§āĻŽā§āϰāĻŋ āĻĒā§āϰā§āϏāĻžāϰ āϤā§āϰāĻŋ āĻšāϝāĻŧ) āĻāĻŦāĻ āĻā§āύ⧠āϏā§āϝāĻŧāĻžāĻĒ āύāĻž āĻĨāĻžāĻāϞā§, āĻĨā§āĻā§ āϝāĻāύ āĻāĻāĻāĻŽ āĻšāϤā§āϝāĻžāĻāĻžāϰ⧠āĻāϏā§, āϤāĻāύ āĻĒā§āώā§āĻ āĻžāĻā§āϞāĻŋāĻā§ āĻĒā§āώā§āĻ āĻžāϰ āĻā§āϝāĻžāĻļā§āϤ⧠āĻĢā§āϞ⧠āĻĻā§āĻāϝāĻŧāĻž āĻāĻŦāĻ āϏā§āĻā§āϞāĻŋāĻā§ āĻĄāĻŋāϏā§āĻā§ āϞā§āĻāĻžāϰ āĻŽāϧā§āϝ⧠āĻāĻāĻāĻŋ āĻāĻžāϰāϏāĻžāĻŽā§āϝāĻŽā§āϞāĻ āĻāĻžāĻ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻāĻŋ kswapd āĻĻā§āĻŦāĻžāϰāĻž āĻāϰāĻž āĻšāϝāĻŧ, āϝāĻž āĻĒāϰāĻŦāϰā§āϤ⧠āĻŦāĻŋāϤāϰāĻŖā§āϰ āĻāύā§āϝ āϏāĻžāĻšāϏā§āϰ āϏāĻžāĻĨā§ āϝāϤāĻāĻž āϏāĻŽā§āĻāĻŦ āĻŽā§āĻŽāϰāĻŋ āĻĒā§āώā§āĻ āĻž āĻŽā§āĻā§āϤ āĻāϰā§āĨ¤
āĻĻā§āϰā§āĻāĻžāĻā§āϝāĻŦāĻļāϤ, āĻāĻāĻāĻŋ āĻŦā§āĻšā§ I/O āϞā§āĻĄ āϏāĻš āĻ āϞā§āĻĒ āĻĒāϰāĻŋāĻŽāĻžāĻŖ āĻĢā§āϰāĻŋ āĻŽā§āĻŽāϰāĻŋāϰ āϏāĻžāĻĨā§, kswapd āĻĒā§āϰ⧠āϏāĻŋāϏā§āĻā§āĻŽā§āϰ āĻŦāĻžāϧāĻž āĻšāϝāĻŧā§ āĻĻāĻžāĻāĻĄāĻŧāĻžāϝāĻŧ, āĻāĻžāϰāĻŖ āϤāĻžāϰāĻž āĻāĻāĻŋāϰ āϏāĻžāĻĨā§ āĻāĻŦāĻĻā§āϧ āϏāĻŦ āϏāĻŋāϏā§āĻā§āĻŽā§ āĻŽā§āĻŽāϰāĻŋ āĻĒā§āώā§āĻ āĻžāĻā§āϞāĻŋāϰ āĻŦāϰāĻžāĻĻā§āĻĻ (āĻĒā§āώā§āĻ āĻžāϰ āϤā§āϰā§āĻāĻŋ)āĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĻā§āϰā§āĻ āϏāĻŽāϝāĻŧā§āϰ āĻāύā§āϝ āϝā§āϤ⧠āĻĒāĻžāϰ⧠āϝāĻĻāĻŋ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻā§āϞāĻŋ āĻāϰ āĻŽā§āĻŽāϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āύāĻž āĻāĻžāϝāĻŧ, āϤāĻŦā§ OOM-āĻāĻŋāϞāĻžāϰ āĻ ā§āϝāĻžāĻŦāĻŋāϏ-āĻāϰ āĻāĻā§āĻŦāĻžāϰ⧠āĻĒā§āϰāĻžāύā§āϤ⧠āϏā§āĻĨāĻŋāϰ āĻĨāĻžāĻā§āĨ¤
āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻĒā§āϰāĻļā§āύ āĻšāϞ: āĻā§āύ āĻāĻāĻāĻŽ āĻšāϤā§āϝāĻžāĻāĻžāϰ⧠āĻāϤ āĻĻā§āϰāĻŋāϤ⧠āĻāϏā§? āĻāϰ āĻŦāϰā§āϤāĻŽāĻžāύ āĻĒā§āύāϰāĻžāĻŦā§āϤā§āϤāĻŋāϤā§, OOM āĻšāϤā§āϝāĻžāĻāĻžāϰ⧠āĻ āϤā§āϝāύā§āϤ āĻŦā§āĻāĻž: āĻāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āϤāĻāύāĻ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻāĻŋāĻā§ āĻŽā§āϰ⧠āĻĢā§āϞāĻŦā§ āϝāĻāύ āĻāĻāĻāĻŋ āĻŽā§āĻŽāϰāĻŋ āĻĒā§āώā§āĻ āĻž āĻŦāϰāĻžāĻĻā§āĻĻ āĻāϰāĻžāϰ āĻĒā§āϰāĻā§āώā§āĻāĻž āĻŦā§āϝāϰā§āĻĨ āĻšāϝāĻŧ, āϝā§āĻŽāύ āϝāĻĻāĻŋ āĻĒā§āώā§āĻ āĻžāϰ āϤā§āϰā§āĻāĻŋ āĻŦā§āϝāϰā§āĻĨ āĻšāϝāĻŧāĨ¤ āĻāĻāĻŋ āĻĻā§āϰā§āĻ āϏāĻŽāϝāĻŧā§āϰ āĻāύā§āϝ āĻāĻā§ āύāĻž, āĻāĻžāϰāĻŖ kswapd āϏāĻžāĻšāϏā§āϰ āϏāĻžāĻĨā§ āĻŽā§āĻŽāϰāĻŋ āĻĒā§āώā§āĻ āĻžāĻā§āϞāĻŋāĻā§ āĻŽā§āĻā§āϤ āĻāϰā§, āĻĒā§āώā§āĻ āĻžāϰ āĻā§āϝāĻžāĻļā§ āĻĄāĻžāĻŽā§āĻĒ āĻāϰ⧠(āĻāϏāϞ⧠āϏāĻŋāϏā§āĻā§āĻŽā§āϰ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻĄāĻŋāϏā§āĻ I/O) āĻĄāĻŋāϏā§āĻā§ āĻĢāĻŋāϰ⧠āĻāϏā§āĨ¤ āĻāϰāĻ āĻŦāĻŋāϏā§āϤāĻžāϰāĻŋāϤāĻāĻžāĻŦā§, āĻāĻžāϰā§āύā§āϞā§āϰ āĻāĻ āϧāϰāύā§āϰ āϏāĻŽāϏā§āϝāĻžāĻā§āϞāĻŋ āĻĻā§āϰ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻĒāĻĻāĻā§āώā§āĻĒāĻā§āϞāĻŋāϰ āĻŦāĻŋāĻŦāϰāĻŖ āϏāĻš, āĻāĻĒāύāĻŋ āĻĒāĻĄāĻŧāϤ⧠āĻĒāĻžāϰā§āύ .
āĻāĻ āĻāĻāϰāĻŖ āĻāĻāĻāĻŋ āĻŽā§āϞā§āϰ āϏāĻžāĻĨā§ Linux 4.6 + +āĨ¤
āĻāϞā§āĻĒ 6. āĻļā§āĻāĻāĻŋ āĻŽā§āϞāϤā§āĻŦāĻŋ āĻ āĻŦāϏā§āĻĨāĻžāϝāĻŧ āĻāĻāĻā§ āϝāĻžāϝāĻŧ
āĻāĻŋāĻā§ āĻā§āϞāĻžāϏā§āĻāĻžāϰā§, āϝā§āĻāĻžāύ⧠āϏāϤā§āϝāĻŋāĻ āĻ
āύā§āĻāĻā§āϞāĻŋ āĻļā§āĻāĻāĻŋ āĻāĻžāĻ āĻāϰā§, āĻāĻŽāϰāĻž āϞāĻā§āώā§āϝ āĻāϰāϤ⧠āĻļā§āϰ⧠āĻāϰā§āĻāĻŋ āϝ⧠āϤāĻžāĻĻā§āϰ āĻŦā§āĻļāĻŋāϰāĻāĻžāĻāĻ āϰāĻžāĻā§āϝ⧠āĻā§āĻŦ āĻĻā§āϰā§āĻ āϏāĻŽāϝāĻŧā§āϰ āĻāύā§āϝ "āĻā§āϞ⧠āĻāĻā§" Pending, āϝāĻĻāĻŋāĻ āĻĄāĻāĻžāϰ āĻāύā§āĻā§āĻāύāĻžāϰāĻā§āϞāĻŋ āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āύā§āĻĄāĻā§āϞāĻŋāϤ⧠āĻāϞāĻā§ āĻāĻŦāĻ āĻŽā§āϝāĻžāύā§āϝāĻŧāĻžāϞāĻŋ āĻĻāĻŋāϝāĻŧā§ āĻāĻžāĻ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤
āϤāĻžāĻāĻžāĻĄāĻŧāĻž, āĻāύ describe āĻāĻāĻžāύ⧠āĻā§āύ āĻā§āϞ āύā§āĻ:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 1m default-scheduler Successfully assigned sphinx-0 to ss-dev-kub07
Normal SuccessfulAttachVolume 1m attachdetach-controller AttachVolume.Attach succeeded for volume "pvc-6aaad34f-ad10-11e8-a44c-52540035a73b"
Normal SuccessfulMountVolume 1m kubelet, ss-dev-kub07 MountVolume.SetUp succeeded for volume "sphinx-config"
Normal SuccessfulMountVolume 1m kubelet, ss-dev-kub07 MountVolume.SetUp succeeded for volume "default-token-fzcsf"
Normal SuccessfulMountVolume 49s (x2 over 51s) kubelet, ss-dev-kub07 MountVolume.SetUp succeeded for volume "pvc-6aaad34f-ad10-11e8-a44c-52540035a73b"
Normal Pulled 43s kubelet, ss-dev-kub07 Container image "registry.example.com/infra/sphinx-exporter/sphinx-indexer:v1" already present on machine
Normal Created 43s kubelet, ss-dev-kub07 Created container
Normal Started 43s kubelet, ss-dev-kub07 Started container
Normal Pulled 43s kubelet, ss-dev-kub07 Container image "registry.example.com/infra/sphinx/sphinx:v1" already present on machine
Normal Created 42s kubelet, ss-dev-kub07 Created container
Normal Started 42s kubelet, ss-dev-kub07 Started containerāĻāĻŋāĻā§ āĻāύāύ āĻāϰāĻžāϰ āĻĒāϰā§, āĻāĻŽāϰāĻž āĻ āύā§āĻŽāĻžāύ āĻāϰā§āĻāĻŋ āϝ⧠āĻā§āĻŦā§āϞā§āĻā§āϰ āĻāĻžāĻā§ āĻā§āĻŦāϞ āĻĒāĻĄā§āϰ āĻ āĻŦāϏā§āĻĨāĻž āĻāĻŦāĻ āĻā§āĻŦāύā§āϤāϤāĻž/āĻĒā§āϰāϏā§āϤā§āϤāĻŋ āĻĒāϰā§āĻā§āώāĻžāϰ āϏāĻŽāϏā§āϤ āϤāĻĨā§āϝ API āϏāĻžāϰā§āĻāĻžāϰ⧠āĻĒāĻžāĻ āĻžāύā§āϰ āϏāĻŽāϝāĻŧ āύā§āĻāĨ¤
āĻāĻŦāĻ āϏāĻžāĻšāĻžāϝā§āϝ āĻ āϧā§āϝāϝāĻŧāύ āĻāϰāĻžāϰ āĻĒāϰā§, āĻāĻŽāϰāĻž āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻĒāϰāĻžāĻŽāĻŋāϤāĻŋāĻā§āϞāĻŋ āĻā§āĻāĻā§ āĻĒā§āϝāĻŧā§āĻāĻŋ:
--kube-api-qps - QPS to use while talking with kubernetes apiserver (default 5)
--kube-api-burst - Burst to use while talking with kubernetes apiserver (default 10)
--event-qps - If > 0, limit event creations per second to this value. If 0, unlimited. (default 5)
--event-burst - Maximum size of a bursty event records, temporarily allows event records to burst to this number, while still not exceeding event-qps. Only used if --event-qps > 0 (default 10)
--registry-qps - If > 0, limit registry pull QPS to this value.
--registry-burst - Maximum size of bursty pulls, temporarily allows pulls to burst to this number, while still not exceeding registry-qps. Only used if --registry-qps > 0 (default 10)āϝā§āĻŽāύ āĻĻā§āĻāĻž āĻā§āϞ, āĻĄāĻŋāĻĢāϞā§āĻ āĻŽāĻžāύ āĻŦā§āĻļ āĻā§āĻ, āĻāĻŦāĻ 90% āĻ āϤāĻžāϰāĻž āϏāĻŽāϏā§āϤ āĻāĻžāĻšāĻŋāĻĻāĻž āĻāĻāĻžāϰ āĻāϰā§... āϝāĻžāĻāĻšā§āĻ, āĻāĻŽāĻžāĻĻā§āϰ āĻā§āώā§āϤā§āϰ⧠āĻāĻāĻŋ āϝāĻĨā§āώā§āĻ āĻāĻŋāϞ āύāĻžāĨ¤ āĻ āϤāĻāĻŦ, āĻāĻŽāϰāĻž āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻŽāĻžāύāĻā§āϞāĻŋ āϏā§āĻ āĻāϰāĻŋ:
--event-qps=30 --event-burst=40 --kube-api-burst=40 --kube-api-qps=30 --registry-qps=30 --registry-burst=40... āĻāĻŦāĻ āĻā§āĻŦā§āϞā§āĻāĻā§āϞāĻŋ āĻĒā§āύāϰāĻžāϝāĻŧ āĻāĻžāϞ⧠āĻāϰā§āĻāĻŋ, āϤāĻžāϰāĻĒāϰ⧠āĻāĻŽāϰāĻž API āϏāĻžāϰā§āĻāĻžāϰ⧠āĻāϞā§āϰ āĻā§āϰāĻžāĻĢā§ āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻāĻŋāϤā§āϰāĻāĻŋ āĻĻā§āĻā§āĻāĻŋ:
![āĻā§āĻŦāĻžāϰāύā§āĻāϏā§āϰ āĻ
āĻĒāĻžāϰā§āĻļāύ⧠6āĻāĻŋ āĻŦāĻŋāύā§āĻĻāύāĻŽā§āϞāĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻŦāĻžāĻ [āĻāĻŦāĻ āϤāĻžāĻĻā§āϰ āϏāĻŽāĻžāϧāĻžāύ]](/wp-content/uploads/2019/03/b2ae099729e55a686f6bec3012b96195.jpg)
... āĻāĻŦāĻ āĻšā§āϝāĻžāĻ, āϏāĻŦāĻāĻŋāĻā§ āĻāĻĄāĻŧāϤ⧠āĻļā§āϰā§!
āĻĻā§āϰāώā§āĻāĻŦā§āϝ
āĻŦāĻžāĻ āϏāĻāĻā§āϰāĻš āĻāĻŦāĻ āĻāĻ āύāĻŋāĻŦāύā§āϧāĻāĻŋ āĻĒā§āϰāϏā§āϤā§āϤ āĻāϰāĻžāϰ āĻāύā§āϝ āϤāĻžāĻĻā§āϰ āϏāĻšāĻžāϝāĻŧāϤāĻžāϰ āĻāύā§āϝ, āĻāĻŽāĻŋ āĻāĻŽāĻžāĻĻā§āϰ āĻā§āĻŽā§āĻĒāĻžāύāĻŋāϰ āĻ āϏāĻāĻā§āϝ āĻĒā§āϰāĻā§āĻļāϞ⧠āĻāĻŦāĻ āĻŦāĻŋāĻļā§āώ āĻāϰ⧠āĻāĻŽāĻžāĻĻā§āϰ R&D āĻĻāϞā§āϰ āĻāĻŽāĻžāϰ āϏāĻšāĻāϰā§āĻŽā§ āĻāύā§āĻĻā§āϰ⧠āĻā§āϞāĻŋāĻŽāύā§āϤā§āĻā§āϰ āĻĒā§āϰāϤāĻŋ āĻāĻā§āϰ āĻā§āϤāĻā§āĻāϤāĻž āĻĒā§āϰāĻāĻžāĻļ āĻāϰāĻāĻŋ ().
PPS
āĻāĻŽāĻžāĻĻā§āϰ āĻŦā§āϞāĻā§āĻ āĻĒāĻĄāĻŧā§āύ:
- ÂĢÂģ.
- Kubernetes āĻāĻŋāĻĒāϏ āĻāĻŦāĻ āĻā§āĻļāϞ āϞā§āĻĒ:
- ÂĢ";
- ÂĢ";
- ÂĢ";
- ÂĢÂģ.
āĻāϤā§āϏ: www.habr.com

![āĻā§āĻŦāĻžāϰāύā§āĻāϏā§āϰ āĻ
āĻĒāĻžāϰā§āĻļāύ⧠6āĻāĻŋ āĻŦāĻŋāύā§āĻĻāύāĻŽā§āϞāĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻŦāĻžāĻ [āĻāĻŦāĻ āϤāĻžāĻĻā§āϰ āϏāĻŽāĻžāϧāĻžāύ]](/wp-content/uploads/2019/03/0d15d1de17cd6838fc1cad19615af218.jpg)