рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ [рдФрд░ рдЙрдирдХреЗ рд╕рдорд╛рдзрд╛рди] рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ 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 ред рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдПрдХ рддреНрд╡рд░рд┐рдд рдЕрдзреНрдпрдпрди рдиреЗ рд╕рдордЭрд╛рдпрд╛ рдХрд┐ рдбреЙрдХрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХрд╛рдВрдЯрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рд╕рдордп-рд╕рдордп рдкрд░ "рдлреНрд░реАрдЬ" рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдирд┐рдореНрди рдЪрд┐рддреНрд░ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ:



рдЗрд╕реА рддрд░рд╣ рдХреА рд╕реНрдерд┐рддрд┐ рдЕрдиреНрдп рдиреЛрдбреНрд╕ рдкрд░ рджреЗрдЦреА рдЬрд╛рддреА рд╣реИ:





рдЙрд╕реА рдиреЛрдбреНрд╕ рдкрд░ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ:

 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> тАж / var / рд░рди / рдбреЛрдХрд░ / libcontainerd / 833b60bb9ff4c669bb413b898a5fd142a57a21695e5dc42684235df907825567 рдбреЛрдХрд░-runc  \_ 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> тАж 

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ: рдЬрдм рдХреЛрдИ рдХрд╛рд░реНрдп рд╕реБрдкрд░ рдХреНрд░реЛрдирд┐рдХ рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ , рдПрдХ рдЬрд╝реЛрдВрдмреА рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИред

рдиреЛрдЯ : рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрд░реЛрди-рдХрд╛рд░реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдЙрддреНрдкрдиреНрди рдХреА рдЬрд╛рддреА рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕реБрдкрд░рдХреНрд░реЛрдирд┐рдХ рдПрдХ init-system рдирд╣реАрдВ рд╣реИ рдФрд░ рдЙрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ "рдирд╣реАрдВ" рдЕрдкрдирд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЙрд╕рдХреЗ рдмрдЪреНрдЪреЛрдВ рдиреЗ рдкреИрджрд╛ рдХреАред рдЬрдм SIGHUP рдпрд╛ SIGTERM рд╕рд┐рдЧреНрдирд▓ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рд╕реНрдкрд╛рдиреНрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдкреНрд░реЗрд╖рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдмрдЪреНрдЪреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЬрд╝реЛрдВрдмреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╢реЗрд╖ рд░рд╣рддреА рд╣реИред рдЖрдк рдЗрд╕ рд╕рдм рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдРрд╕реЗ рд▓реЗрдЦ рдореЗрдВ ред

рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рддрд░реАрдХреЗ рд╣реИрдВ:

  1. рдЕрд╕реНрдерд╛рдпреА рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ - рдПрдХ рд╕рдордп рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ PID рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рд╛рдПрдБ:

      /proc/sys/kernel/pid_max (since Linux 2.5.34) This file specifies the value at which PIDs wrap around (ie, 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 рдХреЛ рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реИ


рдХреНрдпреВрдмрд▓реЗрдЯ рдиреЗ рд╕реАрдкреАрдпреВ рдХреА рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЦрдкрдд рд╢реБрд░реВ рдХрд░ рджреА:



рдХрд┐рд╕реА рдХреЛ рдпрд╣ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЦреБрдж рдХреЛ рдкреВрд░реНрдгрддрд╛ рдХреЗ рд╕рд╛рде рд╕рд╢рд╕реНрддреНрд░ рдХрд┐рдпрд╛ рдФрд░ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдЬрд╛рдВрдЪ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдереЗ:

  • рдХреНрдпреВрдмрд▓реЗрдЯ рдПрдХ рддрд┐рд╣рд╛рдИ рд╕реЗ рдЕрдзрд┐рдХ рд╕реАрдкреАрдпреВ рд╕рдордп рдмрд┐рддрд╛рддрд╛ рд╣реИ рдЬреЛ рд╕рднреА рдбреЗрдЯрд╛ рд╕рдореВрд╣реЛрдВ рд╕реЗ рдореЗрдореЛрд░реА рдбреЗрдЯрд╛ рдЦреАрдВрдЪрддрд╛ рд╣реИ:

  • рдХрд░реНрдиреЗрд▓ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рдореЗрдВ рдЖрдк рд╕рдорд╕реНрдпрд╛ рдХреА рдЪрд░реНрдЪрд╛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд▓рдмреНрдмреЛрд▓реБрдЖрдм рдпрд╣ рд╣реИ рдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ tmpfs рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рдЕрдиреНрдп рд╕рдорд╛рди рдЪреАрдЬреЗрдВ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рд╣рдЯрд╛рдИ рдЬрд╛рддреА рд╣реИрдВ рдЬрдм cgroup рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рддрдерд╛рдХрдерд┐рдд рдореЗрдо рдЬрд╝реЛрдВрдмреА ред рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ, рд╡реЗ рдЕрднреА рднреА рдкреЗрдЬ рдХреИрд╢ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗ, рд▓реЗрдХрд┐рди рд╕рд░реНрд╡рд░ рдкрд░ рдореЗрдореЛрд░реА рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИ рдФрд░ рдХрд░реНрдиреЗрд▓ рд╕рдордп рдмрд░реНрдмрд╛рдж рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╡реЗ рдЬрдорд╛ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ? рдпрд╣ рдХреНрд░реЛрди рдиреМрдХрд░рд┐рдпреЛрдВ рд╡рд╛рд▓рд╛ рдПрдХ рд╕рд░реНрд╡рд░ рд╣реИ рдЬреЛ рд▓рдЧрд╛рддрд╛рд░ рдирдИ рдиреМрдХрд░рд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдирдИ рдкреЙрдбреНрд╕ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЙрди рдореЗрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рдирдП cgroups рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдЬрд▓реНрдж рд╣реА рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
  • рдХреНрдпреВрдмрд▓реЗрдЯ рдореЗрдВ cAdvisor рдЗрддрдирд╛ рд╕рдордп рдХреНрдпреЛрдВ рджреЗрддрд╛ рд╣реИ? рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ time cat /sys/fs/cgroup/memory/memory.stat рдХреЗ рд╕рд░рд▓рддрдо рдирд┐рд╖реНрдкрд╛рджрди рджреНрд╡рд╛рд░рд╛ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдСрдкрд░реЗрд╢рди рдПрдХ рд╕реНрд╡рд╕реНрде рдорд╢реАрди рдкрд░ 0.01 рд╕реЗрдХрдВрдб рд▓реЗрддрд╛ рд╣реИ, рддреЛ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд cron02 рдкрд░ 1.2 рд╕реЗрдХрдВрдбред рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ cAdvisor, рдЬреЛ sysfs рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдмрд╣реБрдд рдзреАрд░реЗ-рдзреАрд░реЗ рдкрдврд╝рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдЬрд╝реЛрдВрдмреА cgroups рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдореЗрдореЛрд░реА рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИред
  • рд▓рд╛рд╢ рдХреЛ рдЬрдмрд░рджрд╕реНрддреА рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдХреИрд╢ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЬреИрд╕рд╛ рдХрд┐ рдПрд▓рдХреЗрдПрдордПрд▓ рдореЗрдВ рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЧрдИ рдереА: sync; echo 3 > /proc/sys/vm/drop_caches sync; echo 3 > /proc/sys/vm/drop_caches , рд▓реЗрдХрд┐рди рдХрд░реНрдиреЗрд▓ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдирд┐рдХрд▓рд╛ рдФрд░ рдорд╢реАрди рдХреЛ рд▓рдЯрдХрд╛ рджрд┐рдпрд╛ред

рдХреНрдпрд╛ рдХрд░реЗрдВ? 4.11 рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдХреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ( рдХрдорд┐рдЯ рдФрд░ рд╡рд┐рд╡рд░рдг рджреЗрдЦреЗрдВ)ред

рдЗрддрд┐рд╣рд╛рд╕ 3. рд╕рд┐рд╕реНрдЯрдордб рдФрд░ рдЙрд╕рдХрд╛ рдЖрд░реЛрд╣


рдлрд┐рд░ рд╕реЗ, рдХреНрдпреВрдмрд▓реЗрдЯ рдХреБрдЫ рдиреЛрдбреНрд╕ рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЦрдкрдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдореГрддрд┐ рд╣реИ:



рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЙрдмрдВрдЯреВ 16.04 рдореЗрдВ рдЙрдкрдпреЛрдЧ subPath рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд┐рд╕реНрдЯрдордб рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм subPath рдХреЛ рдХреЙрдиреНрдлрд┐рдЧрд░реИрдкреНрд╕ рдпрд╛ рд░рд╣рд╕реНрдпреЛрдВ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдИ рдЧрдИ рдорд╛рдЙрдВрдЯ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдлрд▓реА рдкреВрд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╕рд┐рд╕реНрдЯрдордб рд╕рд░реНрд╡рд┐рд╕ рдФрд░ рдЗрд╕рдХреА рд╕рд░реНрд╡рд┐рд╕ рдорд╛рдЙрдВрдЯ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдмрдиреА рд░рд╣рддреА рд╣реИред рд╕рдордп рдХреЗ рд╕рд╛рде, рд╡реЗ рдПрдХ рдмрдбрд╝реА рд░рд╛рд╢рд┐ рдЬрдорд╛ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдФрд░ рднреА рдореБрджреНрджреЗ рд╣реИрдВ:

  1. рдХреЛрдкреНрд╕ # 5916 ;
  2. рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ # 57345 ред

... рдЬрд┐рдирдореЗрдВ рд╕реЗ рдЕрдВрддрд┐рдо рдореЗрдВ PR рдХреЛ systemd: # 7811 (systemd рдореЗрдВ рдЕрдВрдХ # 7798 ) рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╕рдорд╕реНрдпрд╛ рдЕрдм рдЙрдмрдВрдЯреВ 18.04 рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЙрдмрдВрдЯреВ 16.04 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рд╣рдорд╛рд░рд╛ рдХрд╛рдо рдЖрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рддреЛ, рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд DaemonSet рдмрдирд╛рдпрд╛:

 --- 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. рд╕реНрдореГрддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдирд╛


рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рджреМрд░рд╛рди, рд╣рдореЗрдВ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рднреА рдорд┐рд▓реА рдЬрд╣рд╛рдВ рдиреЛрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реБрд▓рдн рд╣реЛрдирд╛ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ: рдПрд╕рдПрд╕рдПрдЪ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рд╕рднреА рдирд┐рдЧрд░рд╛рдиреА рдбреЗрдореЙрди рдЧрд┐рд░ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд▓реЙрдЧ рдореЗрдВ рдХреБрдЫ рднреА (рдпрд╛ рд▓рдЧрднрдЧ рдХреБрдЫ рднреА) рдЕрд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИред

рдореИрдВ рдЖрдкрдХреЛ рдЪрд┐рддреНрд░реЛрдВ рдореЗрдВ рдПрдХ рдиреЛрдб рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдмрддрд╛рдКрдВрдЧрд╛ рдЬрд╣рд╛рдВ MongoDB рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рджреБрд░реНрдШрдЯрдирд╛ рд╕реЗ рдкрд╣рд▓реЗ рдХреИрд╕реЗ рджрд┐рдЦрддрд╛ рд╣реИ:



рдФрд░ рдЗрд╕рд▓рд┐рдП - рджреБрд░реНрдШрдЯрдирд╛ рдХреЗ рдмрд╛рдж :



рдирд┐рдЧрд░рд╛рдиреА рдореЗрдВ рднреА, рдПрдХ рддреЗрдЬ рдХреВрдж рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдиреЛрдб рд╕реБрд▓рдн рд╣реЛрдирд╛ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ:



рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐:

  1. рдорд╢реАрди рдкрд░ рд░реИрдо рдЕрдВрдд рдХреЗ рдкрд╛рд╕ рд╣реИ;
  2. рд░реИрдо рдХреА рдЦрдкрдд рдореЗрдВ рддреЗрдЬ рдЙрдЫрд╛рд▓ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдкреВрд░реА рдорд╢реАрди рддрдХ рдкрд╣реБрдВрдЪ рддреЗрдЬреА рд╕реЗ рдЕрдХреНрд╖рдо рд╣реЛ рдЬрд╛рддреА рд╣реИ;
  3. рдорд╛рдирдЧреЛ рдореЗрдВ рдПрдХ рдмрдбрд╝рд╛ рдХрд╛рд░реНрдп рдЖрддрд╛ рд╣реИ, рдЬреЛ DBMS рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдбрд┐рд╕реНрдХ рд╕реЗ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рд▓рд┐рдирдХреНрд╕ рдореБрдлреНрдд рдореЗрдореЛрд░реА (рдореЗрдореЛрд░реА рдкреНрд░реЗрд╢рд░) рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╕реНрд╡реИрдк рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ OOM рдХрд┐рд▓рд░ рдХреЗ рдЖрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреЗрдЬ рдХреИрд╢ рдореЗрдВ рдкреЗрдЬ рдлреЗрдВрдХрдиреЗ рдФрд░ рдбрд┐рд╕реНрдХ рдкрд░ рд╡рд╛рдкрд╕ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдВрддреБрд▓рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ kswapd рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕рд╛рд╣рд╕рдкреВрд░реНрд╡рдХ рдмрд╛рдж рдХреЗ рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрдореГрддрд┐ рдХреЗ рдХрдИ рдкреГрд╖реНрдареЛрдВ рдХреЛ рдореБрдХреНрдд рдХрд░рддрд╛ рд╣реИред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, I / O рдХреЗ рдПрдХ рдмрдбрд╝реЗ рднрд╛рд░ рдХреЗ рд╕рд╛рде, рдереЛрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдореБрдлреНрдд рдореЗрдореЛрд░реА рдХреЗ рд╕рд╛рде рдпреБрдЧреНрдорд┐рдд, kswapd рдкреВрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреА рдЕрдбрд╝рдЪрди рдмрди рдЬрд╛рддрд╛ рд╣реИ , рдХреНрдпреЛрдВрдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдореЗрдореЛрд░реА рдкреЗрдЬреЛрдВ рдХреЗ рд╕рднреА рдкреГрд╖реНрда рджреЛрд╖ рдЗрд╕рдХреЗ рд╕рд╛рде рдмрдВрдзреЗ рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдЕрдм рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдУрдУрдПрдо рдХрд┐рд▓рд░ рд░рд╕рд╛рддрд▓ рдХреЗ рдмрд╣реБрдд рдХрд┐рдирд╛рд░реЗ рдкрд░ рддрдп рдХреА рдЧрдИ рд╣реИрдВред

рддрд╛рд░реНрдХрд┐рдХ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ: 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 


... рдФрд░ рдХреНрдпреВрдмрд▓реЗрдЯреНрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рдЧреНрд░рд╛рдл рдкрд░ рдирд┐рдореНрди рдЪрд┐рддреНрд░ рджреЗрдЦрд╛:



... рдФрд░ рд╣рд╛рдБ, рд╕рдм рдХреБрдЫ рдЙрдбрд╝рдиреЗ рд▓рдЧрд╛!

рдкреБрдирд╢реНрдЪ


рдмрдЧ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдФрд░ рд▓реЗрдЦ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЕрдкрдиреА рдХрдВрдкрдиреА рдХреЗ рдХрдИ рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрдВрджреНрд░реЗрдИ рдХреНрд▓реЗрдореЗрдВрдЯрдпреЗрд╡ (рд╣рдорд╛рд░реЗ рдЖрд░ рдПрдВрдб рдбреА рдЯреАрдо рдХреЗ рд╕рд╣рдХрд░реНрдореА) ( рдЬрд╝реВрдЬрд╝рд╕ ) рдХреЗ рдкреНрд░рддрд┐ рдЕрдкрдиреА рдЧрд╣рд░реА рдХреГрддрдЬреНрдЮрддрд╛ рд╡реНрдпрдХреНрдд рдХрд░рддрд╛ рд╣реВрдВред

рдкреА рдкреА рдПрд╕


рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдореЗрдВ рднреА рдкрдврд╝реЗрдВ:

Source: https://habr.com/ru/post/hi443458/


All Articles