āϕ⧁āĻŦāĻžāϰāύ⧇āϟāϏ⧇āϰ āĻ…āĻĒāĻžāϰ⧇āĻļāύ⧇ 6āϟāĻŋ āĻŦāĻŋāύ⧋āĻĻāύāĻŽā§‚āϞāĻ• āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦāĻžāĻ— [āĻāĻŦāĻ‚ āϤāĻžāĻĻ⧇āϰ āϏāĻŽāĻžāϧāĻžāύ]

āϕ⧁āĻŦāĻžāϰāύ⧇āϟāϏ⧇āϰ āĻ…āĻĒāĻžāϰ⧇āĻļāύ⧇ 6āϟāĻŋ āĻŦāĻŋāύ⧋āĻĻāύāĻŽā§‚āϞāĻ• āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦāĻžāĻ— [āĻāĻŦāĻ‚ āϤāĻžāĻĻ⧇āϰ āϏāĻŽāĻžāϧāĻžāύ]

āĻ‰ā§ŽāĻĒāĻžāĻĻāύ⧇ āϕ⧁āĻŦāĻžāϰāύ⧇āϟāϏ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āĻŦāĻ›āϰ⧇āϰ āĻĒāϰ āĻŦāĻ›āϰ āϧāϰ⧇, āφāĻŽāϰāĻž āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āωāĻĒāĻžāĻĻāĻžāύ⧇āϰ āĻŦāĻžāĻ—āϗ⧁āϞāĻŋ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻĒāĻžāĻ¤ā§āϰ āĻāĻŦāĻ‚ āĻĒāĻĄāϗ⧁āϞāĻŋāϰ āĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϞāĻžāĻĒāϕ⧇ āĻĒā§āϰāĻ­āĻžāĻŦāĻŋāϤ āĻ•āϰ⧇ āĻāĻŽāύ āĻ…āĻĒā§āϰ⧀āϤāĻŋāĻ•āϰ āĻāĻŦāĻ‚/āĻ…āĻĨāĻŦāĻž āĻŦā§‹āϧāĻ—āĻŽā§āϝ āĻĒāϰāĻŋāĻŖāϤāĻŋāϰ āĻĻāĻŋāϕ⧇ āĻĒāϰāĻŋāϚāĻžāϞāĻŋāϤ āĻ•āϰ⧇ āϤāĻžāϰ āĻ…āύ⧇āĻ• āφāĻ•āĻ°ā§āώāĻŖā§€āϝāĻŧ āĻ—āĻ˛ā§āĻĒ āϜāĻŽāĻž āĻ•āϰ⧇āĻ›āĻŋāĨ¤ āĻāχ āύāĻŋāĻŦāĻ¨ā§āϧ⧇ āφāĻŽāϰāĻž āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϏāĻžāϧāĻžāϰāĻŖ āĻŦāĻž āφāĻ•āĻ°ā§āώāĻŖā§€āϝāĻŧ āĻ•āĻŋāϛ⧁āϗ⧁āϞāĻŋāϰ āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰ⧇āĻ›āĻŋāĨ¤ āĻāĻŽāύāĻ•āĻŋ āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āĻāχ āϧāϰāύ⧇āϰ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋāϰ āϏāĻŽā§āĻŽā§āĻ–ā§€āύ āĻšāĻ“āϝāĻŧāĻžāϰ āϜāĻ¨ā§āϝ āϝāĻĨ⧇āĻˇā§āϟ āĻ­āĻžāĻ—ā§āϝāĻŦāĻžāύ āύāĻž āĻšāύ āϤāĻŦ⧇ āĻāχ āϧāϰāύ⧇āϰ āϛ⧋āϟ āĻ—ā§‹āϝāĻŧ⧇āĻ¨ā§āĻĻāĻž āĻ—āĻ˛ā§āĻĒāϗ⧁āϞāĻŋ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻĒāĻĄāĻŧāĻž - āĻŦāĻŋāĻļ⧇āώ āĻ•āϰ⧇ "āĻĢāĻžāĻ°ā§āĻ¸ā§āϟ-āĻšā§āϝāĻžāĻ¨ā§āĻĄ" - āϏāĻŦāϏāĻŽāϝāĻŧāχ āφāĻ•āĻ°ā§āώāĻŖā§€āϝāĻŧ, āϤāĻžāχ āύāĻž? ..

āĻ—āĻ˛ā§āĻĒ 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āϟāĻŋ āĻŦāĻŋāύ⧋āĻĻāύāĻŽā§‚āϞāĻ• āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦāĻžāĻ— [āĻāĻŦāĻ‚ āϤāĻžāĻĻ⧇āϰ āϏāĻŽāĻžāϧāĻžāύ]

āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āύ⧋āĻĄāϗ⧁āϞāĻŋāϤ⧇ āĻ…āύ⧁āϰ⧂āĻĒ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋ āĻĒāϰāĻŋāϞāĻ•ā§āώāĻŋāϤ āĻšāϝāĻŧ:

āϕ⧁āĻŦāĻžāϰāύ⧇āϟāϏ⧇āϰ āĻ…āĻĒāĻžāϰ⧇āĻļāύ⧇ 6āϟāĻŋ āĻŦāĻŋāύ⧋āĻĻāύāĻŽā§‚āϞāĻ• āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦāĻžāĻ— [āĻāĻŦāĻ‚ āϤāĻžāĻĻ⧇āϰ āϏāĻŽāĻžāϧāĻžāύ]

āϕ⧁āĻŦāĻžāϰāύ⧇āϟāϏ⧇āϰ āĻ…āĻĒāĻžāϰ⧇āĻļāύ⧇ 6āϟāĻŋ āĻŦāĻŋāύ⧋āĻĻāύāĻŽā§‚āϞāĻ• āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦāĻžāĻ— [āĻāĻŦāĻ‚ āϤāĻžāĻĻ⧇āϰ āϏāĻŽāĻžāϧāĻžāύ]

āĻāĻ•āχ āύ⧋āĻĄāϗ⧁āϞāĻŋāϤ⧇ āφāĻŽāϰāĻž āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāχ:

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 āϏāĻ‚āϕ⧇āϤāϗ⧁āϞāĻŋ āωāĻ¤ā§āĻĨāĻžāĻĒāĻŋāϤ āĻšāϝāĻŧ, āϤāĻ–āύ āϏ⧇āϗ⧁āϞāĻŋ āĻļāĻŋāĻļ⧁ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϗ⧁āϞāĻŋāϤ⧇ āĻĒā§āϰ⧇āϰāĻŖ āĻ•āϰāĻž āĻšāϝāĻŧ āύāĻž, āϝāĻžāϰ āĻĢāϞ⧇ āĻļāĻŋāĻļ⧁ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϗ⧁āϞāĻŋ āĻŦāĻ¨ā§āϧ āĻšāϝāĻŧ āύāĻž āĻāĻŦāĻ‚ āϜāĻŽā§āĻŦāĻŋ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāϝāĻŧ āĻĨāĻžāϕ⧇āĨ¤ āφāĻĒāύāĻŋ āĻāχ āϏāĻŦ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āφāϰāĻ“ āĻĒāĻĄāĻŧāϤ⧇ āĻĒāĻžāϰ⧇āύ, āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻŽāĻ§ā§āϝ⧇ āϝ⧇āĻŽāύ āĻāĻ•āϟāĻŋ āύāĻŋāĻŦāĻ¨ā§āϧ.

āϏāĻŽāĻ¸ā§āϝāĻž āϏāĻŽāĻžāϧāĻžāύ⧇āϰ āĻ•āϝāĻŧ⧇āĻ•āϟāĻŋ āωāĻĒāĻžāϝāĻŧ āϰāϝāĻŧ⧇āϛ⧇:

  1. āĻāĻ•āϟāĻŋ āĻ…āĻ¸ā§āĻĨāĻžāϝāĻŧā§€ āϏāĻŽāĻžāϧāĻžāύ āĻšāĻŋāϏāĻžāĻŦ⧇ - āϏāĻŽāϝāĻŧ⧇ āĻāĻ•āĻ• āϏāĻŽāϝāĻŧ⧇ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻĒāĻŋāφāχāĻĄāĻŋ-āϰ āϏāĻ‚āĻ–ā§āϝāĻž āĻŦāĻžāĻĄāĻŧāĻžāύ:
           /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. āĻ…āĻĨāĻŦāĻž āϏāϰāĻžāϏāϰāĻŋ āύāĻž, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāĻ•āχ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϏ⧁āĻĒāĻžāϰāĻ•ā§āϰ⧋āύāĻŋāĻ•-āĻ āĻ•āĻžāϜāϗ⧁āϞāĻŋ āϚāĻžāϞ⧁ āĻ•āϰ⧁āύ āϟāĻŋāύāĻŋ, āϝāĻž āϏāĻ āĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻŦāĻ¨ā§āϧ āĻ•āϰāϤ⧇ āϏāĻ•ā§āώāĻŽ āĻāĻŦāĻ‚ āϜāĻŽā§āĻŦāĻŋāĻĻ⧇āϰ āϜāĻ¨ā§āĻŽ āĻĻāĻŋāϤ⧇ āĻĒāĻžāϰ⧇ āύāĻžāĨ¤

āĻ—āĻ˛ā§āĻĒ 2. āĻāĻ•āϟāĻŋ cgroup āĻŽā§āϛ⧇ āĻĢ⧇āϞāĻžāϰ āϏāĻŽāϝāĻŧ "āϜāĻŽā§āĻŦāĻŋ"

āϕ⧁āĻŦ⧇āϞ⧇āϟ āĻĒā§āϰāϚ⧁āϰ āϏāĻŋāĻĒāĻŋāχāω āĻ—ā§āϰāĻšāĻŖ āĻ•āϰāϤ⧇ āĻļ⧁āϰ⧁ āĻ•āϰ⧇āϛ⧇:

āϕ⧁āĻŦāĻžāϰāύ⧇āϟāϏ⧇āϰ āĻ…āĻĒāĻžāϰ⧇āĻļāύ⧇ 6āϟāĻŋ āĻŦāĻŋāύ⧋āĻĻāύāĻŽā§‚āϞāĻ• āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦāĻžāĻ— [āĻāĻŦāĻ‚ āϤāĻžāĻĻ⧇āϰ āϏāĻŽāĻžāϧāĻžāύ]

āϕ⧇āω āĻāϟāĻŋ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āϰāĻŦ⧇ āύāĻž, āϤāĻžāχ āφāĻŽāϰāĻž āύāĻŋāĻœā§‡āĻĻ⧇āϰāϕ⧇ āϏāĻļāĻ¸ā§āĻ¤ā§āϰ āĻ•āϰ⧇āĻ›āĻŋ āĻĒāĻžāϰāĻĢ āĻāĻŦāĻ‚ āϏāĻŽāĻ¸ā§āϝāĻž āĻŽā§‹āĻ•āĻžāĻŦ⧇āϞāĻž āĻļ⧁āϰ⧁. āϤāĻĻāĻ¨ā§āϤ⧇āϰ āĻĢāϞāĻžāĻĢāϞ āύāĻŋāĻŽā§āύāϰ⧂āĻĒ āĻ›āĻŋāϞ:

  • āϕ⧁āĻŦ⧇āϞ⧇āϟ āϤāĻžāϰ CPU āϏāĻŽāϝāĻŧ⧇āϰ āĻāĻ• āϤ⧃āϤ⧀āϝāĻŧāĻžāĻ‚āĻļ⧇āϰāĻ“ āĻŦ⧇āĻļāĻŋ āϏāĻŽāϝāĻŧ āĻŦā§āϝāϝāĻŧ āĻ•āϰ⧇ āϏāĻŽāĻ¸ā§āϤ cgroups āĻĨ⧇āϕ⧇ āĻŽā§‡āĻŽāϰāĻŋ āĻĄā§‡āϟāĻž āϟāĻžāύāϤ⧇:

    āϕ⧁āĻŦāĻžāϰāύ⧇āϟāϏ⧇āϰ āĻ…āĻĒāĻžāϰ⧇āĻļāύ⧇ 6āϟāĻŋ āĻŦāĻŋāύ⧋āĻĻāύāĻŽā§‚āϞāĻ• āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦāĻžāĻ— [āĻāĻŦāĻ‚ āϤāĻžāĻĻ⧇āϰ āϏāĻŽāĻžāϧāĻžāύ]

  • āĻ•āĻžāĻ°ā§āύ⧇āϞ āĻĄā§‡āϭ⧇āϞāĻĒāĻžāϰāĻĻ⧇āϰ āĻŽā§‡āχāϞāĻŋāĻ‚ āϞāĻŋāĻ¸ā§āĻŸā§‡ āφāĻĒāύāĻŋ āϖ⧁āρāĻœā§‡ āĻĒ⧇āϤ⧇ āĻĒāĻžāϰ⧇āύ āϏāĻŽāĻ¸ā§āϝāĻž āφāϞ⧋āϚāύāĻž. āϏāĻ‚āĻ•ā§āώ⧇āĻĒ⧇, āĻŦāĻŋāĻ¨ā§āĻĻ⧁ āĻāĻ–āĻžāύ⧇ āύ⧇āĻŽā§‡ āφāϏ⧇: āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ tmpfs āĻĢāĻžāχāϞ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āĻ…āύ⧁āϰ⧂āĻĒ āϜāĻŋāύāĻŋāϏāϗ⧁āϞāĻŋ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖāϰ⧂āĻĒ⧇ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĨ⧇āϕ⧇ āϏāϰāĻžāύ⧋ āĻšāϝāĻŧ āύāĻž āĻāĻ•āϟāĻŋ cgroup āĻŽā§āϛ⧇ āĻĢ⧇āϞāĻžāϰ āϏāĻŽāϝāĻŧ, āϤāĻĨāĻžāĻ•āĻĨāĻŋāϤ memcg āĻŦā§‹āĻ•āϚāĻ¨ā§āĻĻāϰ. āĻļā§€āĻ˜ā§āϰāχ āĻŦāĻž āĻĒāϰ⧇ āϤāĻžāϰāĻž āĻĒ⧃āĻˇā§āĻ āĻž āĻ•ā§āϝāĻžāĻļ⧇ āĻĨ⧇āϕ⧇ āĻŽā§āϛ⧇ āĻĢ⧇āϞāĻž āĻšāĻŦ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āĻ…āύ⧇āĻ• āĻŽā§‡āĻŽāϰāĻŋ āφāϛ⧇ āĻāĻŦāĻ‚ āĻ•āĻžāĻ°ā§āύ⧇āϞ āϤāĻžāĻĻ⧇āϰ āĻŽā§āϛ⧇ āĻĢ⧇āϞāĻžāϰ āϏāĻŽāϝāĻŧ āύāĻˇā§āϟ āĻ•āϰāĻžāϰ āĻŦāĻŋāĻ¨ā§āĻĻ⧁ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāϝāĻŧ āύāĻžāĨ¤ āϏ⧇āϜāĻ¨ā§āϝ āϤāĻžāϰāĻž āϜāĻŽāĻžāϟ āĻŦāĻžāρāϧāϤ⧇ āĻĨāĻžāϕ⧇āĨ¤ āϕ⧇āύ āĻāϟāĻž āĻāĻŽāύāĻ•āĻŋ āϘāϟāϛ⧇? āĻāϟāĻŋ āĻ•ā§āϰāύ āϜāĻŦ āϏāĻš āĻāĻ•āϟāĻŋ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āϝāĻž āĻ•ā§āϰāĻŽāĻžāĻ—āϤ āύāϤ⧁āύ āĻ•āĻžāϜ āϤ⧈āϰāĻŋ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āϤāĻžāĻĻ⧇āϰ āϏāĻžāĻĨ⧇ āύāϤ⧁āύ āĻĒāĻĄāĨ¤ āĻāχāĻ­āĻžāĻŦ⧇, āϤāĻžāĻĻ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āύāϤ⧁āύ 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āϟāĻŋ āĻŦāĻŋāύ⧋āĻĻāύāĻŽā§‚āϞāĻ• āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦāĻžāĻ— [āĻāĻŦāĻ‚ āϤāĻžāĻĻ⧇āϰ āϏāĻŽāĻžāϧāĻžāύ]

āĻĻ⧇āĻ–āĻž āϗ⧇āϞ āϝ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ systemd-āϤ⧇ āĻāĻ•āϟāĻŋ āϏāĻŽāĻ¸ā§āϝāĻž āĻ›āĻŋāϞāĨ¤ Ubuntu ā§§ā§Ŧ.ā§Ļā§Ē, āĻāĻŦāĻ‚ āĻāϟāĻŋ āϏāĻ‚āϝ⧋āϗ⧇āϰ āϜāĻ¨ā§āϝ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻŽāĻžāωāĻ¨ā§āϟāϗ⧁āϞāĻŋ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āϘāĻŸā§‡āĨ¤ subPath ConfigMap āĻāϰ āĻŦāĻž āĻ—ā§‹āĻĒāύ āĻāϰ āĻĨ⧇āϕ⧇āĨ¤ āĻĒā§‹āĻĻ⧇āϰ āĻ•āĻžāϜ āĻļ⧇āώ āĻ•āϰāĻžāϰ āĻĒāϰ systemd āĻĒāϰāĻŋāώ⧇āĻŦāĻž āĻāĻŦāĻ‚ āĻāϰ āĻĒāϰāĻŋāώ⧇āĻŦāĻž āĻŽāĻžāωāĻ¨ā§āϟ āĻĨāĻžāϕ⧇ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āϏāĻŽāϝāĻŧ⧇āϰ āϏāĻžāĻĨ⧇ āϏāĻžāĻĨ⧇, āϤāĻžāĻĻ⧇āϰ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻļāĻžāϞ āϏāĻ‚āĻ–ā§āϝāĻž āϜāĻŽāĻž āĻšāϝāĻŧāĨ¤ āĻāχ āĻŦāĻŋāώāϝāĻŧ⧇ āĻāĻŽāύāĻ•āĻŋ āϏāĻŽāĻ¸ā§āϝāĻž āφāϛ⧇:

  1. #5916;
  2. āϕ⧁āĻŦāĻžāϰāύ⧇āϟāϏ #57345.

...āϝāĻžāϰ āĻļ⧇āώāϟāĻŋ systemd-āĻ PR-āϕ⧇ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰ⧇: #7811 (āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āϏāĻŽāĻ¸ā§āϝāĻž - #7798).

āϏāĻŽāĻ¸ā§āϝāĻžāϟāĻŋ āφāϰ āύ⧇āχāĨ¤ 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"

āĻāϟāĻž āϝ⧇ āϏāĻ•ā§āϰāĻŋāϝāĻŧ āφāωāϟ āĻāĻ•āϟāĻŋ āϧ⧀āϰ āϰ⧇āϜāĻŋāĻ¸ā§āĻŸā§āϰāĻŋ āĻĨ⧇āϕ⧇ āĻāĻ•āϟāĻŋ āĻāĻ•āĻ• āϚāĻŋāĻ¤ā§āϰ āĻ¸ā§āĻĨāĻžāĻĒāύāĻž āĻŦā§āϞāĻ• āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āĻĒā§āϰāϤāĻŋ āύ⧋āĻĄ

āĻĻ⧁āĻ°ā§āĻ­āĻžāĻ—ā§āϝāĻŦāĻļāϤ, āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋ āĻĨ⧇āϕ⧇ āĻŦ⧇āϰāĻŋāϝāĻŧ⧇ āφāϏāĻžāϰ āĻ…āύ⧇āĻ• āωāĻĒāĻžāϝāĻŧ āύ⧇āχ:

  1. āφāĻĒāύāĻžāϰ āĻĄāĻ•āĻžāϰ āϰ⧇āϜāĻŋāĻ¸ā§āĻŸā§āϰāĻŋ āϏāϰāĻžāϏāϰāĻŋ āĻ•ā§āϞāĻžāĻ¸ā§āϟāĻžāϰ⧇ āĻŦāĻž āϏāϰāĻžāϏāϰāĻŋ āĻ•ā§āϞāĻžāĻ¸ā§āϟāĻžāϰ⧇āϰ āϏāĻžāĻĨ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧁āύ (āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻ—āĻŋāϟāĻ˛ā§āϝāĻžāĻŦ āϰ⧇āϜāĻŋāĻ¸ā§āĻŸā§āϰāĻŋ, āύ⧇āĻ•ā§āϏāĻžāϏ, āχāĻ¤ā§āϝāĻžāĻĻāĻŋ);
  2. āϝ⧇āĻŽāύ āχāωāϟāĻŋāϞāĻŋāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ āĻ•ā§āϰāĻžāϕ⧇āύāϕ⧇.

āĻ—āĻ˛ā§āĻĒ 5. āĻ¸ā§āĻŽā§ƒāϤāĻŋāϰ āĻ…āĻ­āĻžāĻŦ⧇ āύ⧋āĻĄ āĻā§āϞ⧇ āϝāĻžāϝāĻŧ

āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇āϰ āĻ…āĻĒāĻžāϰ⧇āĻļāύ āϚāϞāĻžāĻ•āĻžāϞ⧀āύ, āφāĻŽāϰāĻž āĻāĻŽāύ āĻāĻ•āϟāĻŋ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋāϰ āϏāĻŽā§āĻŽā§āĻ–ā§€āύ āĻšāϝāĻŧ⧇āĻ›āĻŋ āϝ⧇āĻ–āĻžāύ⧇ āĻāĻ•āϟāĻŋ āύ⧋āĻĄ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖāϰ⧂āĻĒ⧇ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏāϝ⧋āĻ—ā§āϝ āĻšāĻ“āϝāĻŧāĻž āĻŦāĻ¨ā§āϧ āĻ•āϰ⧇ āĻĻ⧇āϝāĻŧ: SSH āϏāĻžāĻĄāĻŧāĻž āĻĻ⧇āϝāĻŧ āύāĻž, āϏāĻŽāĻ¸ā§āϤ āĻŽāύāĻŋāϟāϰāĻŋāĻ‚ āĻĄā§‡āĻŽāύ āĻĒāĻĄāĻŧ⧇ āϝāĻžāϝāĻŧ āĻāĻŦāĻ‚ āϤāĻžāϰāĻĒāϰ⧇ āϞāĻ—āϗ⧁āϞāĻŋāϤ⧇ āĻ…āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻ•āĻŋāϛ⧁āχ (āĻŦāĻž āĻĒā§āϰāĻžāϝāĻŧ āĻ•āĻŋāϛ⧁āχ) āύ⧇āχāĨ¤

āφāĻŽāĻŋ āφāĻĒāύāĻžāϕ⧇ āĻāĻ•āϟāĻŋ āύ⧋āĻĄā§‡āϰ āωāĻĻāĻžāĻšāϰāĻŖ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻ›āĻŦāĻŋāϤ⧇ āĻŦāϞāĻŦ āϝ⧇āĻ–āĻžāύ⧇ MongoDB āĻ•āĻžāϜ āĻ•āϰ⧇āĨ¤

āĻāχ āωāĻĒāϰ⧇āϰ āĻŽāϤ āĻĻ⧇āĻ–āĻžāϝāĻŧ āĻ•āĻŋ āĻĨ⧇āϕ⧇ āĻĻ⧁āĻ°ā§āϘāϟāύāĻž:

āϕ⧁āĻŦāĻžāϰāύ⧇āϟāϏ⧇āϰ āĻ…āĻĒāĻžāϰ⧇āĻļāύ⧇ 6āϟāĻŋ āĻŦāĻŋāύ⧋āĻĻāύāĻŽā§‚āϞāĻ• āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦāĻžāĻ— [āĻāĻŦāĻ‚ āϤāĻžāĻĻ⧇āϰ āϏāĻŽāĻžāϧāĻžāύ]

āĻāĻŦāĻ‚ āĻāχ āĻŽāϤ - ĐŋĐžŅĐģĐĩ āĻĻ⧁āĻ°ā§āϘāϟāύāĻž:

āϕ⧁āĻŦāĻžāϰāύ⧇āϟāϏ⧇āϰ āĻ…āĻĒāĻžāϰ⧇āĻļāύ⧇ 6āϟāĻŋ āĻŦāĻŋāύ⧋āĻĻāύāĻŽā§‚āϞāĻ• āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦāĻžāĻ— [āĻāĻŦāĻ‚ āϤāĻžāĻĻ⧇āϰ āϏāĻŽāĻžāϧāĻžāύ]

āĻĒāĻ°ā§āϝāĻŦ⧇āĻ•ā§āώāϪ⧇, āĻāĻ•āϟāĻŋ āϤ⧀āĻ•ā§āĻˇā§āĻŖ āϞāĻžāĻĢāĻ“ āϰāϝāĻŧ⧇āϛ⧇, āϝ⧇āĻ–āĻžāύ⧇ āύ⧋āĻĄāϟāĻŋ āωāĻĒāϞāĻŦā§āϧ āĻšāĻ“āϝāĻŧāĻž āĻŦāĻ¨ā§āϧ āĻ•āϰ⧇ āĻĻ⧇āϝāĻŧ:

āϕ⧁āĻŦāĻžāϰāύ⧇āϟāϏ⧇āϰ āĻ…āĻĒāĻžāϰ⧇āĻļāύ⧇ 6āϟāĻŋ āĻŦāĻŋāύ⧋āĻĻāύāĻŽā§‚āϞāĻ• āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦāĻžāĻ— [āĻāĻŦāĻ‚ āϤāĻžāĻĻ⧇āϰ āϏāĻŽāĻžāϧāĻžāύ]

āϏ⧁āϤāϰāĻžāĻ‚, āĻ¸ā§āĻ•ā§āϰāĻŋāύāĻļāϟ āĻĨ⧇āϕ⧇ āĻāϟāĻŋ āĻ¸ā§āĻĒāĻˇā§āϟ āϝ⧇:

  1. āĻŽā§‡āĻļāĻŋāύ⧇ RAM āĻļ⧇āώ⧇āϰ āĻ•āĻžāĻ›āĻžāĻ•āĻžāĻ›āĻŋ;
  2. RAM āĻ–āϰāĻšā§‡ āĻāĻ•āϟāĻŋ āϤ⧀āĻ•ā§āĻˇā§āĻŖ āϞāĻžāĻĢ āϰāϝāĻŧ⧇āϛ⧇, āϝāĻžāϰ āĻĒāϰ⧇ āĻĒ⧁āϰ⧋ āĻŽā§‡āĻļāĻŋāύ⧇ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻšāĻ āĻžā§Ž āĻ…āĻ•ā§āώāĻŽ āĻ•āϰāĻž āĻšāϝāĻŧ;
  3. āĻŽāĻ™ā§āĻ—ā§‹āϤ⧇ āĻāĻ•āϟāĻŋ āĻŦāĻĄāĻŧ āĻ•āĻžāϜ āφāϏ⧇, āϝāĻž āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϕ⧇ āφāϰāĻ“ āĻŽā§‡āĻŽāϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻāĻŦāĻ‚ āĻĄāĻŋāĻ¸ā§āĻ• āĻĨ⧇āϕ⧇ āϏāĻ•ā§āϰāĻŋāϝāĻŧāĻ­āĻžāĻŦ⧇ āĻĒāĻĄāĻŧāϤ⧇ āĻŦāĻžāĻ§ā§āϝ āĻ•āϰ⧇āĨ¤

āĻĻ⧇āĻ–āĻž āϝāĻžāĻšā§āϛ⧇ āϝ⧇ āϝāĻĻāĻŋ āĻŽāĻ§ā§āϝ⧇ 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āϟāĻŋ āĻŦāĻŋāύ⧋āĻĻāύāĻŽā§‚āϞāĻ• āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦāĻžāĻ— [āĻāĻŦāĻ‚ āϤāĻžāĻĻ⧇āϰ āϏāĻŽāĻžāϧāĻžāύ]

... āĻāĻŦāĻ‚ āĻšā§āϝāĻžāρ, āϏāĻŦāĻ•āĻŋāϛ⧁ āωāĻĄāĻŧāϤ⧇ āĻļ⧁āϰ⧁!

āĻĻā§āϰāĻˇā§āϟāĻŦā§āϝ

āĻŦāĻžāĻ— āϏāĻ‚āĻ—ā§āϰāĻš āĻāĻŦāĻ‚ āĻāχ āύāĻŋāĻŦāĻ¨ā§āϧāϟāĻŋ āĻĒā§āϰāĻ¸ā§āϤ⧁āϤ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āϤāĻžāĻĻ⧇āϰ āϏāĻšāĻžāϝāĻŧāϤāĻžāϰ āϜāĻ¨ā§āϝ, āφāĻŽāĻŋ āφāĻŽāĻžāĻĻ⧇āϰ āϕ⧋āĻŽā§āĻĒāĻžāύāĻŋāϰ āĻ…āϏāĻ‚āĻ–ā§āϝ āĻĒā§āϰāĻ•ā§ŒāĻļāϞ⧀ āĻāĻŦāĻ‚ āĻŦāĻŋāĻļ⧇āώ āĻ•āϰ⧇ āφāĻŽāĻžāĻĻ⧇āϰ R&D āĻĻāϞ⧇āϰ āφāĻŽāĻžāϰ āϏāĻšāĻ•āĻ°ā§āĻŽā§€ āφāĻ¨ā§āĻĻā§āϰ⧇ āĻ•ā§āϞāĻŋāĻŽāĻ¨ā§āϤ⧇āϭ⧇āϰ āĻĒā§āϰāϤāĻŋ āĻ—āĻ­ā§€āϰ āĻ•ā§ƒāϤāĻœā§āĻžāϤāĻž āĻĒā§āϰāĻ•āĻžāĻļ āĻ•āϰāĻ›āĻŋ (āϜ⧁āĻœā§āϜāĻž).

PPS

āφāĻŽāĻžāĻĻ⧇āϰ āĻŦā§āϞāϗ⧇āĻ“ āĻĒāĻĄāĻŧ⧁āύ:

āωāĻ¤ā§āϏ: www.habr.com

DDoS āϏ⧁āϰāĻ•ā§āώāĻž, VPS VDS āϏāĻžāĻ°ā§āĻ­āĻžāϰ āϏāĻš āϏāĻžāχāϟāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻšā§‹āĻ¸ā§āϟāĻŋāĻ‚ āĻ•āĻŋāύ⧁āύ đŸ”Ĩ DDoS āϏ⧁āϰāĻ•ā§āώāĻž āϏāĻš āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāϟ āĻšā§‹āĻ¸ā§āϟāĻŋāĻ‚ āĻ•āĻŋāύ⧁āύ, VPS VDS āϏāĻžāĻ°ā§āĻ­āĻžāϰ | ProHoster