เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ [เจ…เจคเฉ‡ เจ‰เจจเฉเจนเจพเจ‚ เจฆเฉ‡ เจนเฉฑเจฒ] เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจตเจฟเฉฑเจš 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. "เจœเจผเฉ‹เจ‚เจฌเฉ€" เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจธเฉ€เจ—เจฐเฉเฉฑเจช เจจเฉ‚เฉฐ เจฎเจฟเจŸเจพเจ‰เจ‚เจฆเฉ‡ เจนเฉ‹

เจ•เฉเจฌเฉ‡เจฒเฉ‡เจŸ เจจเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ CPU เจฆเฉ€ เจ–เจชเจค เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเฉ€:

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ [เจ…เจคเฉ‡ เจ‰เจจเฉเจนเจพเจ‚ เจฆเฉ‡ เจนเฉฑเจฒ] เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจตเจฟเฉฑเจš 6 เจฎเจจเฉ‹เจฐเฉฐเจœเจ• เจธเจฟเจธเจŸเจฎ เจฌเฉฑเจ—

เจ•เฉ‹เจˆ เจตเฉ€ เจ‡เจธ เจจเฉ‚เฉฐ เจชเจธเฉฐเจฆ เจจเจนเฉ€เจ‚ เจ•เจฐเฉ‡เจ—เจพ, เจ‡เจธ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจ†เจช เจจเฉ‚เฉฐ เจนเจฅเจฟเจ†เจฐเจฌเฉฐเจฆ เจ•เฉ€เจคเจพ เจธเฉฐเจชเฉ‚เจฐเจฃ เจ…เจคเฉ‡ เจธเจฎเฉฑเจธเจฟเจ† เจจเจพเจฒ เจจเจœเจฟเฉฑเจ เจฃ เจฒเจˆ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเจพ. เจœเจพเจ‚เจš เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจ‡เจธ เจชเฉเจฐเจ•เจพเจฐ เจธเจจ:

  • เจ•เฉเจฌเฉ‡เจฒเฉ‡เจŸ เจธเจพเจฐเฉ‡ cgroups เจคเฉ‹เจ‚ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจกเจพเจŸเจพ เจ–เจฟเฉฑเจšเจฃ เจตเจฟเฉฑเจš CPU เจธเจฎเฉ‡เจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจคเจฟเจนเจพเจˆ เจคเฉ‹เจ‚ เจตเฉฑเจง เจธเจฎเจพเจ‚ เจฌเจฟเจคเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ:

    เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ [เจ…เจคเฉ‡ เจ‰เจจเฉเจนเจพเจ‚ เจฆเฉ‡ เจนเฉฑเจฒ] เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจตเจฟเฉฑเจš 6 เจฎเจจเฉ‹เจฐเฉฐเจœเจ• เจธเจฟเจธเจŸเจฎ เจฌเฉฑเจ—

  • เจ•เจฐเจจเจฒ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจฆเฉ€ เจฎเฉ‡เจฒเจฟเฉฐเจ— เจธเฉ‚เจšเฉ€ เจตเจฟเฉฑเจš เจคเฉเจธเฉ€เจ‚ เจฒเฉฑเจญ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจธเจฎเฉฑเจธเจฟเจ† เจฆเฉ€ เจšเจฐเจšเจพ. เจธเฉฐเจ–เฉ‡เจช เจตเจฟเฉฑเจš, เจฌเจฟเฉฐเจฆเฉ‚ เจ‡เจน เจนเฉˆ เจ•เจฟ เจตเฉฑเจ–-เจตเฉฑเจ– tmpfs เจซเจพเจˆเจฒเจพเจ‚ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจธเจฎเจพเจจ เจšเฉ€เจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฟเจธเจŸเจฎ เจคเฉ‹เจ‚ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจจเจนเฉ€เจ‚ เจนเจŸเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ เจ‡เฉฑเจ• cgroup เจจเฉ‚เฉฐ เจนเจŸเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡, เจ…เจ–เฉŒเจคเฉ€ memcg เจœเฉ‚เจฎเจฌเฉ€เจจเจธ. เจœเจฒเจฆเฉ€ เจœเจพเจ‚ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจ‰เจน เจชเฉ‡เจœ เจ•เฉˆเจธเจผ เจคเฉ‹เจ‚ เจฎเจฟเจŸเจพ เจฆเจฟเฉฑเจคเฉ‡ เจœเจพเจฃเจ—เฉ‡, เจชเจฐ เจธเจฐเจตเจฐ เจคเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ€ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ•เจฐเจจเจฒ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฎเจฟเจŸเจพเจ‰เจฃ เจตเจฟเฉฑเจš เจธเจฎเจพเจ‚ เจฌเจฐเจฌเจพเจฆ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฌเจฟเฉฐเจฆเฉ‚ เจจเจนเฉ€เจ‚ เจฆเฉ‡เจ–เจฆเจพ. เจ‡เจธเฉ‡ เจฒเจˆ เจ‰เจน เจขเฉ‡เจฐ เจฒเฉฑเจ—เฉ‡ เจฐเจนเจฟเฉฐเจฆเฉ‡ เจนเจจเฅค เจ…เจœเจฟเจนเจพ เจตเฉ€ เจ•เจฟเจ‰เจ‚ เจนเฉ‹ เจฐเจฟเจนเจพ เจนเฉˆ? เจ‡เจน เจ•เฉเจฐเฉ‹เจจ เจจเฉŒเจ•เจฐเฉ€เจ†เจ‚ เจตเจพเจฒเจพ เจ‡เฉฑเจ• เจธเจฐเจตเจฐ เจนเฉˆ เจœเฉ‹ เจฒเจ—เจพเจคเจพเจฐ เจจเจตเฉ€เจ†เจ‚ เจจเฉŒเจ•เจฐเฉ€เจ†เจ‚ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจจเจตเฉ‡เจ‚ เจชเฉ‹เจกเจธ. เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจš เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจฒเจˆ เจจเจตเฉ‡เจ‚ cgroups เจฌเจฃเจพเจ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ, เจœเฉ‹ เจ•เจฟ เจœเจฒเจฆเฉ€ เจนเฉ€ เจฎเจฟเจŸเจพ เจฆเจฟเฉฑเจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค
  • เจ•เฉเจฌเฉ‡เจฒเฉ‡เจŸ เจตเจฟเฉฑเจš เจธเฉ€เจเจกเจตเจพเจˆเจœเจผเจฐ เจ‡เฉฐเจจเจพ เจธเจฎเจพเจ‚ เจ•เจฟเจ‰เจ‚ เจฌเจฐเจฌเจพเจฆ เจ•เจฐเจฆเจพ เจนเฉˆ? เจ‡เจน เจธเจงเจพเจฐเจจ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจจเจพเจฒ เจฆเฉ‡เจ–เจฃเจพ เจ†เจธเจพเจจ เจนเฉˆ time cat /sys/fs/cgroup/memory/memory.stat. เจœเฉ‡เจ•เจฐ เจ‡เฉฑเจ• เจธเจฟเจนเจคเจฎเฉฐเจฆ เจฎเจธเจผเฉ€เจจ 'เจคเฉ‡ เจ“เจชเจฐเฉ‡เจธเจผเจจ 0,01 เจธเจ•เจฟเฉฐเจŸ เจฒเฉˆเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจ‡เฉฑเจ• เจธเจฎเฉฑเจธเจฟเจ† cron02 'เจคเฉ‡ เจ‡เจธ เจจเฉ‚เฉฐ 1,2 เจธเจ•เจฟเฉฐเจŸ เจฒเฉฑเจ—เจฆเฉ‡ เจนเจจเฅค เจ—เฉฑเจฒ เจ‡เจน เจนเฉˆ เจ•เจฟ cAdvisor, เจœเฉ‹ เจ•เจฟ sysfs เจคเฉ‹เจ‚ เจกเจพเจŸเจพ เจฌเจนเฉเจค เจนเฉŒเจฒเฉ€ เจชเฉœเฉเจนเจฆเจพ เจนเฉˆ, zombie cgroups เจตเจฟเฉฑเจš เจตเจฐเจคเฉ€ เจ—เจˆ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจจเฉ‚เฉฐ เจตเฉ€ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆเฅค
  • เจœเจผเฉŒเจฎเจฌเฉ€เจœเจผ เจจเฉ‚เฉฐ เจœเจผเจฌเจฐเจฆเจธเจคเฉ€ เจนเจŸเจพเจ‰เจฃ เจฒเจˆ, เจ…เจธเฉ€เจ‚ LKML เจฆเฉเจ†เจฐเจพ เจธเจฟเจซเจผเจพเจฐเจฟเจธเจผ เจ•เฉ€เจคเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจ•เฉˆเจšเจพเจ‚ เจจเฉ‚เฉฐ เจธเจพเจซเจผ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เฉ€เจคเฉ€: sync; echo 3 > /proc/sys/vm/drop_caches, - เจชเจฐ เจ•เฉ‹เจฐ เจตเจงเฉ‡เจฐเฉ‡ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจจเจฟเจ•เจฒเจฟเจ† เจ…เจคเฉ‡ เจ•เจพเจฐ เจจเฉ‚เฉฐ เจฒเจŸเจ•เจพเจ‡เจ†.

เจฎเฉˆเจ‚ เจ•เฉ€ เจ•เจฐเจพเจ‚? เจธเจฎเฉฑเจธเจฟเจ† เจนเฉฑเจฒ เจ•เฉ€เจคเฉ€ เจœเจพ เจฐเจนเฉ€ เจนเฉˆ (เจตเจšเจจเจฌเฉฑเจง, เจ…เจคเฉ‡ เจตเจฟเฉฑเจš เจตเฉ‡เจฐเจตเจพ เจตเฉ‡เจ–เฉ‹ เจœเจพเจฐเฉ€ เจธเฉเจจเฉ‡เจนเจพ) เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ เจจเฉ‚เฉฐ เจตเจฐเจœเจจ 4.16 เจตเจฟเฉฑเจš เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเจ•เฉ‡เฅค

เจ•เจนเจพเจฃเฉ€ 3. Systemd เจ…เจคเฉ‡ เจ‡เจธเจฆเจพ เจฎเจพเจŠเจ‚เจŸ

เจฆเฉเจฌเจพเจฐเจพ, เจ•เฉเจฌเฉ‡เจฒเฉ‡เจŸ เจ•เฉเจ เจจเฉ‹เจกเจพเจ‚ 'เจคเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจธเจฐเฉ‹เจคเจพเจ‚ เจฆเฉ€ เจ–เจชเจค เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ, เจชเจฐ เจ‡เจธ เจตเจพเจฐ เจ‡เจน เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฆเฉ€ เจ–เจชเจค เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ:

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ [เจ…เจคเฉ‡ เจ‰เจจเฉเจนเจพเจ‚ เจฆเฉ‡ เจนเฉฑเจฒ] เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจตเจฟเฉฑเจš 6 เจฎเจจเฉ‹เจฐเฉฐเจœเจ• เจธเจฟเจธเจŸเจฎ เจฌเฉฑเจ—

เจ‡เจน เจชเจคเจพ เจšเจฒเจฟเจ† เจ•เจฟ เจ‰เจฌเฉฐเจŸเฉ‚ 16.04 เจตเจฟเฉฑเจš เจตเจฐเจคเฉ‡ เจ—เจ เจธเจฟเจธเจŸเจฎเจก เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจฎเฉฑเจธเจฟเจ† เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจน เจ‰เจฆเฉ‹เจ‚ เจตเจพเจชเจฐเจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจ‰เจนเจจเจพเจ‚ เจฎเจพเจ‰เจ‚เจŸเจพเจ‚ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจฆเฉ‡ เจนเฉ‹ เจœเฉ‹ เจœเฉเฉœเจจ เจฒเจˆ เจฌเจฃเจพเจ เจ—เจ เจนเจจ subPath ConfigMap'ov เจœเจพเจ‚ secret'ov เจคเฉ‹เจ‚เฅค เจชเฉŒเจก เจฌเฉฐเจฆ เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ systemd เจธเฉ‡เจตเจพ เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ€ เจธเฉ‡เจตเจพ เจฎเจพเจŠเจ‚เจŸ เจฐเจนเจฟเฉฐเจฆเฉ€ เจนเฉˆ เจธเจฟเจธเจŸเจฎ เจตเจฟเฉฑเจš. เจธเจฎเฉ‡เจ‚ เจฆเฉ‡ เจจเจพเจฒ, เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจตเฉฑเจกเฉ€ เจ—เจฟเจฃเจคเฉ€ เจ‡เจ•เฉฑเจ เฉ€ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ. เจ‡เจธ เจตเจฟเจธเจผเฉ‡ 'เจคเฉ‡ เจตเฉ€ เจฎเฉเฉฑเจฆเฉ‡ เจนเจจ:

  1. #5916;
  2. kubernetes#57345.

... เจœเจฟเจธ เจฆเฉ‡ เจ…เจ–เฉ€เจฐเจฒเฉ‡ เจตเจฟเฉฑเจš เจ‰เจน systemd เจตเจฟเฉฑเจš PR เจฆเจพ เจนเจตเจพเจฒเจพ เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจ: #7811 (เจธเจฟเจธเจŸเจฎเจก เจตเจฟเฉฑเจš เจฎเฉเฉฑเจฆเจพ - #7798).

เจธเจฎเฉฑเจธเจฟเจ† เจนเฉเจฃ Ubuntu 18.04 เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจนเฉˆ, เจชเจฐ เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ Ubuntu 16.04 เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธ เจตเจฟเจธเจผเฉ‡ 'เจคเฉ‡ เจธเจพเจกเจพ เจนเฉฑเจฒ เจฒเจพเจญเจฆเจพเจ‡เจ• เจฒเฉฑเจ— เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจ‡เจธ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจกเฉˆเจฎเจจเจธเฉˆเฉฑเจŸ เจจเฉ‚เฉฐ เจฌเจฃเจพเจ‡เจ† เจนเฉˆ:

---
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. เจ†เจชเจฃเฉ€ เจกเฉŒเจ•เจฐ เจฐเจœเจฟเจธเจŸเจฐเฉ€ เจจเฉ‚เฉฐ เจธเจฟเฉฑเจงเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจœเจพเจ‚ เจธเจฟเฉฑเจงเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจจเจพเจฒ เจตเจฐเจคเจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเฉ‹ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, GitLab เจฐเจœเจฟเจธเจŸเจฐเฉ€, Nexus, เจ†เจฆเจฟ);
  2. เจตเจฐเจ—เฉ€เจ†เจ‚ เจธเจนเฉ‚เจฒเจคเจพเจ‚ เจฆเจพ เจฒเจพเจญ เจ‰เจ เจพเจ“ kraken.

เจ•เจนเจพเจฃเฉ€ 5. เจฏเจพเจฆเจฆเจพเจธเจผเจค เจฆเฉ€ เจ•เจฎเฉ€ เจ•เจพเจฐเจจ เจจเฉ‹เจก เจฒเจŸเจ• เจœเจพเจ‚เจฆเฉ‡ เจนเจจ

เจตเฉฑเจ–-เจตเฉฑเจ– เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ, เจธเจพเจจเฉ‚เฉฐ เจ…เจœเจฟเจนเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเฉ€ เจฎเจฟเจฒเฉ€ เจœเจฆเฉ‹เจ‚ เจจเฉ‹เจก เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจ‰เจชเจฒเจฌเจง เจนเฉ‹เจฃเจพ เจฌเฉฐเจฆ เจ•เจฐ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ: SSH เจœเจตเจพเจฌ เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเจพ, เจธเจพเจฐเฉ‡ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจกเฉˆเจฎเจจ เจฌเฉฐเจฆ เจนเฉ‹ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ, เจ…เจคเฉ‡ เจซเจฟเจฐ เจฒเฉŒเจ—เจธ เจตเจฟเฉฑเจš เจ•เฉเจ เจตเฉ€ (เจœเจพเจ‚ เจฒเจ—เจญเจ— เจ•เฉเจ เจตเฉ€) เจ…เจธเจงเจพเจฐเจจ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค

เจฎเฉˆเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจจเฉ‹เจก เจฆเฉ€ เจ‰เจฆเจพเจนเจฐเจฃ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจฟเจ†เจ‚ เจคเจธเจตเฉ€เจฐเจพเจ‚ เจตเจฟเฉฑเจš เจฆเฉฑเจธเจพเจ‚เจ—เจพ เจœเจฟเฉฑเจฅเฉ‡ เจฎเฉ‹เจ‚เจ—เฉ‹เจกเฉ€เจฌเฉ€ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ.

เจ‡เจน เจ‰เจน เจนเฉˆ เจœเฉ‹ เจ‰เฉฑเจชเจฐ เจฆเจฟเจธเจฆเจพ เจนเฉˆ เจจเฉ‚เฉฐ เจนเจพเจฆเจธเฉ‡:

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ [เจ…เจคเฉ‡ เจ‰เจจเฉเจนเจพเจ‚ เจฆเฉ‡ เจนเฉฑเจฒ] เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจตเจฟเฉฑเจš 6 เจฎเจจเฉ‹เจฐเฉฐเจœเจ• เจธเจฟเจธเจŸเจฎ เจฌเฉฑเจ—

เจ…เจคเฉ‡ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ - ะฟะพัะปะต เจนเจพเจฆเจธเฉ‡:

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ [เจ…เจคเฉ‡ เจ‰เจจเฉเจนเจพเจ‚ เจฆเฉ‡ เจนเฉฑเจฒ] เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจตเจฟเฉฑเจš 6 เจฎเจจเฉ‹เจฐเฉฐเจœเจ• เจธเจฟเจธเจŸเจฎ เจฌเฉฑเจ—

เจจเจฟเจ—เจฐเจพเจจเฉ€ เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจคเจฟเฉฑเจ–เฉ€ เจ›เจพเจฒ เจตเฉ€ เจนเฉˆ, เจœเจฟเจธ 'เจคเฉ‡ เจจเฉ‹เจก เจ‰เจชเจฒเจฌเจง เจนเฉ‹เจฃเจพ เจฌเฉฐเจฆ เจ•เจฐ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ:

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ [เจ…เจคเฉ‡ เจ‰เจจเฉเจนเจพเจ‚ เจฆเฉ‡ เจนเฉฑเจฒ] เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจตเจฟเฉฑเจš 6 เจฎเจจเฉ‹เจฐเฉฐเจœเจ• เจธเจฟเจธเจŸเจฎ เจฌเฉฑเจ—

เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจธเจ•เฉเจฐเฉ€เจจเจธเจผเฉŒเจŸเจธ เจคเฉ‹เจ‚ เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจนเฉˆ เจ•เจฟ:

  1. เจฎเจธเจผเฉ€เจจ 'เจคเฉ‡ RAM เจ…เฉฐเจค เจฆเฉ‡ เจจเฉ‡เฉœเฉ‡ เจนเฉˆ;
  2. เจฐเฉˆเจฎ เจฆเฉ€ เจ–เจชเจค เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจคเจฟเฉฑเจ–เฉ€ เจ›เจพเจฒ เจนเฉˆ, เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจชเฉ‚เจฐเฉ€ เจฎเจธเจผเฉ€เจจ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ…เจšเจพเจจเจ• เจ…เจฏเฉ‹เจ— เจนเฉ‹ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ;
  3. เจฎเฉ‹เจ‚เจ—เฉ‹ 'เจคเฉ‡ เจ‡เฉฑเจ• เจตเฉฑเจกเจพ เจ•เฉฐเจฎ เจ†เจ‰เจ‚เจฆเจพ เจนเฉˆ, เจœเฉ‹ DBMS เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจตเจงเฉ‡เจฐเฉ‡ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจตเจฐเจคเจฃ เจ…เจคเฉ‡ เจกเจฟเจธเจ• เจคเฉ‹เจ‚ เจธเจฐเจ—เจฐเจฎเฉ€ เจจเจพเจฒ เจชเฉœเฉเจนเจจ เจฒเจˆ เจฎเจœเจผเจฌเฉ‚เจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจ‡เจน เจชเจคเจพ เจšเจฒเจฆเจพ เจนเฉˆ เจ•เจฟ เจœเฉ‡เจ•เจฐ เจฒเฉ€เจจเจ•เจธ เจฎเฉเจซเจค เจฎเฉˆเจฎเฉ‹เจฐเฉ€ (เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจชเฉเจฐเฉˆเจธเจผเจฐ เจธเฉˆเฉฑเจŸ เจ•เจฐเจฆเจพ เจนเฉˆ) เจ–เจคเจฎ เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ•เฉ‹เจˆ เจธเจตเฉˆเจช เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจจเฉ‚เฉฐ เจœเจฆเฉ‹เจ‚ OOM เจ•เจฟเจฒเจฐ เจ†เจ‰เจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจชเฉฐเจจเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจชเฉ‡เจœ เจ•เฉˆเจธเจผ เจตเจฟเฉฑเจš เจธเฉเฉฑเจŸเจฃ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจกเจฟเจธเจ• เจคเฉ‡ เจตเจพเจชเจธ เจฒเจฟเจ–เจฃ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจ‡เฉฑเจ• เจธเฉฐเจคเฉเจฒเจจ เจ•เจพเจฐเจœ เจชเฉˆเจฆเจพ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‡เจน kswapd เจฆเฉเจ†เจฐเจพ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเฉ‹ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจตเฉฐเจกเจฃ เจฒเจˆ เจตเฉฑเจง เจคเฉ‹เจ‚ เจตเฉฑเจง เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจชเฉฐเจจเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฌเจนเจพเจฆเจฐเฉ€ เจจเจพเจฒ เจ–เจพเจฒเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจฌเจฆเจ•เจฟเจธเจฎเจคเฉ€ เจจเจพเจฒ, เจ‡เฉฑเจ• เจญเจพเจฐเฉ€ I/O เจฒเฉ‹เจก เจฆเฉ‡ เจจเจพเจฒ เจฅเฉ‹เฉœเฉ€ เจœเจฟเจนเฉ€ เจฎเฉเจซเจค เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฆเฉ‡ เจจเจพเจฒ, kswapd เจชเฉ‚เจฐเฉ‡ เจธเจฟเจธเจŸเจฎ เจฆเจพ เจฐเฉเจ•เจพเจตเจŸ เจฌเจฃ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‰เจน เจ‡เจธ เจจเจพเจฒ เจœเฉเฉœเฉ‡ เจนเฉ‹เจ เจนเจจ เจธเจพเจฐเฉ‡ เจธเจฟเจธเจŸเจฎ เจตเจฟเฉฑเจš เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจชเฉฐเจจเจฟเจ†เจ‚ เจฆเฉ€ เจตเฉฐเจก (เจชเฉฐเจจเจฟเจ†เจ‚ เจฆเฉ‡ เจจเฉเจ•เจธ)เฅค เจ‡เจน เจฌเจนเฉเจค เจฒเฉฐเจฌเฉ‡ เจธเจฎเฉ‡เจ‚ เจฒเจˆ เจœเจพเจฐเฉ€ เจฐเจนเจฟ เจธเจ•เจฆเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจนเฉเจฃ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเจนเฉ€เจ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ€เจ†เจ‚, เจชเจฐ OOM เจ•เจฟเจฒเจฐ เจเจฌเฉ€เจธ เจฆเฉ‡ เจฌเจฟเจฒเจ•เฉเจฒ เจ•เจฟเจจเจพเจฐเฉ‡ 'เจคเฉ‡ เจซเจฟเจ•เจธเฉ‡เจŸ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค

เจธเจตเจพเจฒ เจ•เฉเจฆเจฐเจคเฉ€ เจนเฉˆ: เจ“เจ“เจเจฎ เจ•เจพเจคเจฒ เจ‡เฉฐเจจเฉ€ เจฆเฉ‡เจฐ เจจเจพเจฒ เจ•เจฟเจ‰เจ‚ เจ†เจ‰เจ‚เจฆเจพ เจนเฉˆ? เจ‡เจธเจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจพ เจฆเฉเจนเจฐเจพเจ“ เจตเจฟเฉฑเจš, OOM เจ•เจฟเจฒเจฐ เจฌเจนเฉเจค เจฎเฉ‚เจฐเจ– เจนเฉˆ: เจ‡เจน เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจ‰เจฆเฉ‹เจ‚ เจนเฉ€ เจ–เจคเจฎ เจ•เจฐ เจฆเฉ‡เจตเฉ‡เจ—เจพ เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจชเฉฐเจจเฉ‡ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ…เจธเจซเจฒ เจนเฉ‹ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจœเฉ‡เจ•เจฐ เจชเฉฐเจจเจพ เจจเฉเจ•เจธ เจ—เจฒเจคเฉ€ เจจเจพเจฒ เจชเจพเจธ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจ‡เจน เจ•เจพเจซเจผเฉ€ เจฆเฉ‡เจฐ เจคเฉฑเจ• เจจเจนเฉ€เจ‚ เจตเจพเจชเจฐเจฆเจพ เจ•เจฟเจ‰เจ‚เจ•เจฟ kswapd เจชเฉฐเจจเจพ เจ•เฉˆเจธเจผ (เจธเจฟเจธเจŸเจฎ เจ‰เฉฑเจคเฉ‡ เจธเจพเจฐเฉ€เจ†เจ‚ เจกเจฟเจธเจ• I/O, เจœเจผเจฐเฉ‚เจฐเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡) เจจเฉ‚เฉฐ เจตเจพเจชเจธ เจกเจฟเจธเจ• 'เจคเฉ‡ เจซเจฒเฉฑเจธเจผ เจ•เจฐเจ•เฉ‡ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฆเฉ‡ เจชเฉฐเจจเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฎเฉเจ•เจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจตเจงเฉ‡เจฐเฉ‡ เจตเจฟเจธเจฅเจพเจฐ เจตเจฟเฉฑเจš, เจ•เจฐเจจเจฒ เจตเจฟเฉฑเจš เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐเจจ เจฒเจˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจ•เจฆเจฎเจพเจ‚ เจฆเฉ‡ เจตเฉ‡เจฐเจตเฉ‡ เจฆเฉ‡ เจจเจพเจฒ, เจคเฉเจธเฉ€เจ‚ เจชเฉœเฉเจน เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ‡เฉฑเจฅเฉ‡.

เจ‡เจน เจตเจฟเจตเจนเจพเจฐ เจธเฉเจงเจพเจฐ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ 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

เจ•เฉเจ เจ–เฉ‹เจฆเจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ…เจธเฉ€เจ‚ เจ‡เจน เจงเจพเจฐเจจเจพ เจฌเจฃเจพ เจฒเจˆ เจ•เจฟ เจ•เฉเจฌเฉ‡เจฒเฉ‡เจŸ เจ•เฉ‹เจฒ เจชเฉŒเจกเจพเจ‚ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจฌเจพเจฐเฉ‡ เจธเจพเจฐเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจ…เจคเฉ‡ เจเจชเฉ€เจ†เจˆ เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจธเจœเฉ€เจตเจคเจพ / เจคเจฟเจ†เจฐเฉ€ เจŸเฉˆเจธเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจญเฉ‡เจœเจฃ เจฆเจพ เจธเจฎเจพเจ‚ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

เจ…เจคเฉ‡ เจฎเจฆเจฆ เจฆเจพ เจ…เจงเจฟเจเจจ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจธเจพเจจเฉ‚เฉฐ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจฎเจพเจชเจฆเฉฐเจก เจฎเจฟเจฒเฉ‡:

--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

... เจ…เจคเฉ‡ kubelets เจจเฉ‚เฉฐ เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจ•เฉ€เจคเจพ, เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ…เจธเฉ€เจ‚ API เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจเจ•เจธเฉˆเจธ เจ•เจฐเจจ เจฒเจˆ เจ—เฉเจฐเจพเจซเจพเจ‚ 'เจคเฉ‡ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€ เจคเจธเจตเฉ€เจฐ เจฆเฉ‡เจ–เฉ€:

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ [เจ…เจคเฉ‡ เจ‰เจจเฉเจนเจพเจ‚ เจฆเฉ‡ เจนเฉฑเจฒ] เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจตเจฟเฉฑเจš 6 เจฎเจจเฉ‹เจฐเฉฐเจœเจ• เจธเจฟเจธเจŸเจฎ เจฌเฉฑเจ—

...เจคเฉ‡ เจนเจพเจ‚, เจธเจญ เจ•เฉเจ เจ‰เฉฑเจกเจฃ เจฒเฉฑเจ—เจพ!

PS

เจฌเฉฑเจ—เจพเจ‚ เจจเฉ‚เฉฐ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจ เจ…เจคเฉ‡ เจฒเฉ‡เจ– เจจเฉ‚เฉฐ เจคเจฟเจ†เจฐ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจฒเจˆ, เจฎเฉˆเจ‚ เจธเจพเจกเฉ€ เจ•เฉฐเจชเจจเฉ€ เจฆเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจ‡เฉฐเจœเฉ€เจจเฉ€เจ…เจฐเจพเจ‚ เจ…เจคเฉ‡ เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจพเจกเฉ€ เจ–เฉ‹เจœ เจ…เจคเฉ‡ เจตเจฟเจ•เจพเจธ เจŸเฉ€เจฎ เจฆเฉ‡ เจธเจพเจกเฉ‡ เจธเจนเจฟเจฏเฉ‹เจ—เฉ€ เจเจ‚เจกเจฐเฉ€ เจ•เจฒเฉ€เจฎเฉˆเจ‚เจŸเจฏเฉ‡เจต (zuzzas).

Pps

เจธเจพเจกเฉ‡ เจฌเจฒเฉŒเจ— 'เจคเฉ‡ เจตเฉ€ เจชเฉœเฉเจนเฉ‹:

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹