рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдЯрд┐рдкреНрд╕ рдЖрдгрд┐ рдпреБрдХреНрддреНрдпрд╛: рдПрдирдЬреАрдЖрдпрдПрдирдПрдХреНрд╕ рдЖрдгрд┐ рдкреАрдПрдЪрдкреА-рдПрдлрдкреАрдПрдо рдордзреАрд▓ рдЖрдХрд░реНрд╖рдХ рд╢рдЯрдбрд╛рдЙрдирдЪреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ

Kubernetes рдордзреНрдпреЗ CI/CD рд▓рд╛рдЧреВ рдХрд░рддрд╛рдирд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд┐рддреА: рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреВрд░реНрдгрдкрдгреЗ рдерд╛рдВрдмрдгреНрдпрд╛рдкреВрд░реНрд╡реА рдирд╡реАрди рдХреНрд▓рд╛рдпрдВрдЯ рд╡рд┐рдирдВрддреНрдпрд╛ рд╕реНрд╡реАрдХрд╛рд░реВ рд╢рдХрдд рдирд╛рд╣реА рдЖрдгрд┐ рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдореНрд╣рдгрдЬреЗ, рд╡рд┐рджреНрдпрдорд╛рди рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдпрд╢рд╕реНрд╡реАрд░рд┐рддреНрдпрд╛ рдкреВрд░реНрдг рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА.

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдЯрд┐рдкреНрд╕ рдЖрдгрд┐ рдпреБрдХреНрддреНрдпрд╛: рдПрдирдЬреАрдЖрдпрдПрдирдПрдХреНрд╕ рдЖрдгрд┐ рдкреАрдПрдЪрдкреА-рдПрдлрдкреАрдПрдо рдордзреАрд▓ рдЖрдХрд░реНрд╖рдХ рд╢рдЯрдбрд╛рдЙрдирдЪреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ

рдпрд╛ рдЕрдЯреАрдЪреЗ рдкрд╛рд▓рди рдХреЗрд▓реНрдпрд╛рдиреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рддреИрдирд╛рддреАрджрд░рдореНрдпрд╛рди рд╢реВрдиреНрдп рдбрд╛рдЙрдирдЯрд╛рдЗрдо рд╕рд╛рдзреНрдп рдХрд░рддрд╛ рдпреЗрддреЛ. рддрдерд╛рдкрд┐, рдЕрдЧрджреА рд▓реЛрдХрдкреНрд░рд┐рдп рдмрдВрдбрд▓ (рдПрдирдЬреАрдЖрдпрдПрдирдПрдХреНрд╕ рдЖрдгрд┐ рдкреАрдПрдЪрдкреА-рдПрдлрдкреАрдПрдо рд╕рд╛рд░рдЦреЗ) рд╡рд╛рдкрд░рдд рдЕрд╕рддрд╛рдирд╛рд╣реА, рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрдбрдЪрдгреА рдпреЗрдК рд╢рдХрддрд╛рдд рдЬреНрдпрд╛рдореБрд│реЗ рдкреНрд░рддреНрдпреЗрдХ рддреИрдирд╛рддреАрдордзреНрдпреЗ рддреНрд░реБрдЯреАрдВрдЪреА рд╡рд╛рдв рд╣реЛрдИрд▓...

рд╕рд┐рджреНрдзрд╛рдВрдд. рдкреЙрдб рдХрд╕реЗ рдЬрдЧрддрд╛рдд

рдЖрдореНрд╣реА рдЖрдзреАрдЪ рдкреЙрдбрдЪреНрдпрд╛ рдЬреАрд╡рди рдЪрдХреНрд░рд╛рдмрджреНрджрд▓ рддрдкрд╢реАрд▓рд╡рд╛рд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ рд╣рд╛ рд▓реЗрдЦ. рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рд╡рд┐рд╖рдпрд╛рдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд, рдЖрдореНрд╣рд╛рд▓рд╛ рдЦрд╛рд▓реАрд▓ рдЧреЛрд╖реНрдЯреАрдВрдордзреНрдпреЗ рд╕реНрд╡рд╛рд░рд╕реНрдп рдЖрд╣реЗ: рдЬреНрдпрд╛ рдХреНрд╖рдгреА рдкреЙрдб рд░рд╛рдЬреНрдпрд╛рдд рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдгреЗ, рддреНрдпрд╛рд╡рд░ рдирд╡реАрди рд╡рд┐рдирдВрддреНрдпрд╛ рдкрд╛рдард╡рдгреЗ рдерд╛рдВрдмрд▓реЗ (рдкреЙрдб рдХрд╛рдврд▓реЗ рд╕реЗрд╡реЗрд╕рд╛рдареА рдЕрдВрддрд┐рдо рдмрд┐рдВрджреВрдВрдЪреНрдпрд╛ рд╕реВрдЪреАрдордзреВрди). рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рддреИрдирд╛рддреА рджрд░рдореНрдпрд╛рди рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдерд╛рдВрдмрд╡рд┐рдгреНрдпрд╛рдЪреНрдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреЗ рдЖрдордЪреНрдпрд╛рд╕рд╛рдареА рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ.

рддреБрдореНрд╣реА рд╣реЗ рджреЗрдЦреАрд▓ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛рд╡реЗ рдХреА рдбреАрдлреЙрд▓реНрдЯ рд╡рд╛рдвреАрд╡ рдХрд╛рд▓рд╛рд╡рдзреА рдЖрд╣реЗ 30 рд╕реЗрдХрдВрдж: рдпрд╛рдирдВрддрд░, рдкреЙрдб рд╕рдВрдкреБрд╖реНрдЯрд╛рдд рдпреЗрдИрд▓ рдЖрдгрд┐ рдЕрд░реНрдЬрд╛рдХрдбреЗ рдпрд╛ рдХрд╛рд▓рд╛рд╡рдзреАрдкреВрд░реНрд╡реА рд╕рд░реНрд╡ рд╡рд┐рдирдВрддреНрдпрд╛рдВрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡реЗрд│ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╢реЗрд░рд╛: рдЬрд░реА 5-10 рд╕реЗрдХрдВрджрд╛рдВрдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд╡реЗрд│ рдШреЗрдгрд╛рд░реА рдХреЛрдгрддреАрд╣реА рд╡рд┐рдирдВрддреА рдЖрдзреАрдЪ рд╕рдорд╕реНрдпрд╛рдкреНрд░рдзрд╛рди рдЖрд╣реЗ, рдЖрдгрд┐ рдЖрдХрд░реНрд╖рдХ рд╢рдЯрдбрд╛рдЙрди рдпрд╛рдкреБрдвреЗ рдорджрдд рдХрд░рдгрд╛рд░ рдирд╛рд╣реА...

рдкреЙрдб рд╕рдВрдкрд▓реНрдпрд╛рд╡рд░ рдХрд╛рдп рд╣реЛрддреЗ рд╣реЗ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА, рдлрдХреНрдд рдЦрд╛рд▓реАрд▓ рдЖрдХреГрддреА рдкрд╣рд╛:

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдЯрд┐рдкреНрд╕ рдЖрдгрд┐ рдпреБрдХреНрддреНрдпрд╛: рдПрдирдЬреАрдЖрдпрдПрдирдПрдХреНрд╕ рдЖрдгрд┐ рдкреАрдПрдЪрдкреА-рдПрдлрдкреАрдПрдо рдордзреАрд▓ рдЖрдХрд░реНрд╖рдХ рд╢рдЯрдбрд╛рдЙрдирдЪреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ

A1, B1 - рдЪреВрд▓рдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрдмрджреНрджрд▓ рдмрджрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреЗ
A2 - рдкреНрд░рд╕реНрдерд╛рди SIGTERM
B2 - рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рдмрд┐рдВрджреВрдВрдордзреВрди рдкреЙрдб рдХрд╛рдврдгреЗ
B3 - рдмрджрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреЗ (рдЕрдВрддрд┐рдордмрд┐рдВрджреВрдВрдЪреА рд╕реВрдЪреА рдмрджрд▓рд▓реА рдЖрд╣реЗ)
B4 - iptables рдирд┐рдпрдо рдЕрджреНрдпрддрдирд┐рдд рдХрд░рд╛

рдХреГрдкрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛: рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкреЙрдб рд╣рдЯрд╡рдгреЗ рдЖрдгрд┐ SIGTERM рдкрд╛рдард╡рдгреЗ рд╣реЗ рдХреНрд░рдорд╛рдиреЗ рд╣реЛрдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рд╕рдорд╛рдВрддрд░ рд╣реЛрддреЗ. рдЖрдгрд┐ рдЗрдВрдЧреНрд░реЗрд╕рд▓рд╛ рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕рдЪреА рдЕрджреНрдпрдпрд╛рд╡рдд рдпрд╛рджреА рддреНрд╡рд░рд┐рдд рдкреНрд░рд╛рдкреНрдд рд╣реЛрдд рдирд╛рд╣реА рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрдореБрд│реЗ, рдХреНрд▓рд╛рдпрдВрдЯрдХрдбреВрди рдирд╡реАрди рд╡рд┐рдирдВрддреНрдпрд╛ рдкреЙрдбрд▓рд╛ рдкрд╛рдард╡рд▓реНрдпрд╛ рдЬрд╛рддреАрд▓, рдЬреНрдпрд╛рдореБрд│реЗ рдкреЙрдб рдЯрд░реНрдорд┐рдиреЗрд╢рди рджрд░рдореНрдпрд╛рди 500 рддреНрд░реБрдЯреА рдирд┐рд░реНрдорд╛рдг рд╣реЛрддреАрд▓. (рдпрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░реАрд▓ рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╕рд╛рдордЧреНрд░реАрд╕рд╛рдареА, рдЖрдореНрд╣реА рдЕрдиреБрд╡рд╛рджрд┐рдд). рдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдЦрд╛рд▓реАрд▓ рдорд╛рд░реНрдЧрд╛рдВрдиреА рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:

  • рдХрдиреЗрдХреНрд╢рди рдкрд╛рдард╡рд╛: рдкреНрд░рддрд┐рд╕рд╛рдж рд╢реАрд░реНрд╖рд▓реЗрдЦрд╛рдВрдордзреНрдпреЗ рдмрдВрдж рдХрд░рд╛ (рд╣реЗ HTTP рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЕрд╕рд▓реНрдпрд╛рд╕).
  • рдЬрд░ рдХреЛрдбрдордзреНрдпреЗ рдмрджрд▓ рдХрд░рдгреЗ рд╢рдХреНрдп рдирд╕реЗрд▓, рддрд░ рдкреБрдвреАрд▓ рд▓реЗрдЦрд╛рдд рдЕрд╢рд╛ рдЙрдкрд╛рдпрд╛рдЪреЗ рд╡рд░реНрдгрди рдХреЗрд▓реЗ рдЖрд╣реЗ рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдЧреНрд░реЗрд╕рдлреБрд▓ рдХрд╛рд▓рд╛рд╡рдзреАрдЪреНрдпрд╛ рд╕рдорд╛рдкреНрддреАрдкрд░реНрдпрдВрдд рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрдИрд▓.

рд╕рд┐рджреНрдзрд╛рдВрдд. NGINX рдЖрдгрд┐ PHP-FPM рддреНрдпрд╛рдВрдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╢реА рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛рдд

рдПрдирдЬреАрдПрдирдПрдХреНрд╕

рдЪрд▓рд╛ NGINX рд╕рд╣ рдкреНрд░рд╛рд░рдВрдн рдХрд░реВрдпрд╛, рдХрд╛рд░рдг рддреНрдпрд╛рд╕рд╣ рд╕рд░реНрд╡ рдХрд╛рд╣реА рдХрдореА-рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ. рд╕рд┐рджреНрдзрд╛рдВрддрд╛рдордзреНрдпреЗ рдбреБрдмрдХреА рдорд╛рд░рддрд╛рдирд╛, рдЖрдореНрд╣реА рд╢рд┐рдХрддреЛ рдХреА NGINX рдордзреНрдпреЗ рдПрдХ рдорд╛рд╕реНрдЯрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдгрд┐ рдЕрдиреЗрдХ "рдХрд╛рдордЧрд╛рд░" рдЖрд╣реЗрдд - рдпрд╛ рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрд╣реЗрдд рдЬреНрдпрд╛ рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рд╡рд┐рдирдВрддреАрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛рдд. рдПрдХ рд╕реЛрдпреАрд╕реНрдХрд░ рдкрд░реНрдпрд╛рдп рдкреНрд░рджрд╛рди рдХреЗрд▓рд╛ рдЖрд╣реЗ: рдХрдорд╛рдВрдб рд╡рд╛рдкрд░реБрди nginx -s <SIGNAL> рдЬрд▓рдж рд╢рдЯрдбрд╛рдЙрди рдХрд┐рдВрд╡рд╛ рдЧреНрд░реЗрд╕рдлреБрд▓ рд╢рдЯрдбрд╛рдЙрди рдореЛрдбрдордзреНрдпреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдорд╛рдкреНрдд рдХрд░рд╛. рд╕рд╛рд╣рдЬрд┐рдХрдЪ, рд╣рд╛ рдирдВрддрд░рдЪрд╛ рдкрд░реНрдпрд╛рдп рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╕реНрд╡рд╛рд░рд╕реНрдп рдЖрд╣реЗ.

рдордЧ рд╕рд░реНрд╡рдХрд╛рд╣реА рд╕реЛрдкреЗ рдЖрд╣реЗ: рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЬреЛрдбрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдкреНрд░реАрд╕реНрдЯреЙрдк-рд╣реБрдХ рдПрдХ рдЖрджреЗрд╢ рдЬреА рдЖрдХрд░реНрд╖рдХ рд╢рдЯрдбрд╛рдЙрди рд╕рд┐рдЧреНрдирд▓ рдкрд╛рдард╡реЗрд▓. рд╣реЗ рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯрдордзреНрдпреЗ, рдХрдВрдЯреЗрдирд░ рдмреНрд▓реЙрдХрдордзреНрдпреЗ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ:

       lifecycle:
          preStop:
            exec:
              command:
              - /usr/sbin/nginx
              - -s
              - quit

рдЖрддрд╛, рдЬреЗрд╡реНрд╣рд╛ рдкреЙрдб рдмрдВрдж рд╣реЛрдИрд▓, рддреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣рд╛рд▓рд╛ NGINX рдХрдВрдЯреЗрдирд░ рд▓реЙрдЧрдордзреНрдпреЗ рдЦрд╛рд▓реАрд▓ рджрд┐рд╕реЗрд▓:

2018/01/25 13:58:31 [notice] 1#1: signal 3 (SIGQUIT) received, shutting down
2018/01/25 13:58:31 [notice] 11#11: gracefully shutting down

рдЖрдгрд┐ рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдХрд╛рдп рд╣рд╡реЗ рдЖрд╣реЗ: NGINX рд╡рд┐рдирдВрддреНрдпрд╛ рдкреВрд░реНрдг рд╣реЛрдгреНрдпрд╛рдЪреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рдЖрдгрд┐ рдирдВрддрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд╖реНрдЯ рдХрд░рддреЗ. рддрдерд╛рдкрд┐, рдЦрд╛рд▓реА рдЖрдореНрд╣реА рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛ рджреЗрдЦреАрд▓ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрдгрд╛рд░ рдЖрд╣реЛрдд рдЬреНрдпрд╛рдореБрд│реЗ, рдЕрдЧрджреА рдХрдорд╛рдВрдбрд╕рд╣ nginx -s quit рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪреБрдХреАрдЪреНрдпрд╛ рдкрджреНрдзрддреАрдиреЗ рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ.

рдЖрдгрд┐ рдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░ рдЖрдореНрд╣реА NGINX рд╕рд╣ рдкреВрд░реНрдг рдХреЗрд▓реЗ рдЖрд╣реЗ: рдХрд┐рдорд╛рди рд▓реЙрдЧрд╡рд░реВрди рдЖрдкрдг рд╕рдордЬреВ рд╢рдХрддрд╛ рдХреА рд╕рд░реНрд╡рдХрд╛рд╣реА рдЬрд╕реЗ рдкрд╛рд╣рд┐рдЬреЗ рддрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рдд рдЖрд╣реЗ.

PHP-FPM рд╕рд╣ рдХрд╛рдп рдХрд░рд╛рд░ рдЖрд╣реЗ? рддреЗ рдЖрдХрд░реНрд╖рдХ рд╢рдЯрдбрд╛рдЙрди рдХрд╕реЗ рд╣рд╛рддрд╛рд│рддреЗ? рдЪрд▓рд╛ рддреЗ рдмрд╛рд╣реЗрд░ рдХрд╛рдвреВрдпрд╛.

рдкреАрдПрдЪрдкреА-рдПрдлрдкреАрдПрдо

PHP-FPM рдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рдереЛрдбреА рдХрдореА рдорд╛рд╣рд┐рддреА рдЖрд╣реЗ. рдЖрдкрдг рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХреЗрд▓реНрдпрд╛рд╕ рдЕрдзрд┐рдХреГрдд рдореЕрдиреНрдпреБрдЕрд▓ PHP-FPM рдиреБрд╕рд╛рд░, рддреЗ рдЕрд╕реЗ рдореНрд╣рдгреЗрд▓ рдХреА рдЦрд╛рд▓реАрд▓ POSIX рд╕рд┐рдЧреНрдирд▓ рд╕реНрд╡реАрдХрд╛рд░рд▓реЗ рдЬрд╛рддрд╛рдд:

  1. SIGINT, SIGTERM - рдЬрд▓рдж рд╢рдЯрдбрд╛рдЙрди;
  2. SIGQUIT - рдЖрдХрд░реНрд╖рдХ рд╢рдЯрдбрд╛рдЙрди (рдЖрдореНрд╣рд╛рд▓рд╛ рдХрд╛рдп рд╣рд╡реЗ рдЖрд╣реЗ).

рдпрд╛ рдХрд╛рд░реНрдпрд╛рдордзреНрдпреЗ рдЙрд░реНрд╡рд░рд┐рдд рд╕рд┐рдЧреНрдирд▓ рдЖрд╡рд╢реНрдпрдХ рдирд╛рд╣реАрдд, рдореНрд╣рдгреВрди рдЖрдореНрд╣реА рддреНрдпрд╛рдВрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╡рдЧрд│реВ. рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рд╕рдорд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рдЦрд╛рд▓реАрд▓ рдкреНрд░реАрд╕реНрдЯреЙрдк рд╣реБрдХ рд▓рд┐рд╣рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓:

        lifecycle:
          preStop:
            exec:
              command:
              - /bin/kill
              - -SIGQUIT
              - "1"

рдкрд╣рд┐рд▓реНрдпрд╛ рджреГрд╖реНрдЯреАрдХреНрд╖реЗрдкрд╛рдд, рджреЛрдиреНрд╣реА рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рдЖрдХрд░реНрд╖рдХ рд╢рдЯрдбрд╛рдЙрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЗ рд╕рд░реНрд╡ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рддрдерд╛рдкрд┐, рдХрд╛рд░реНрдп рджрд┐рд╕рддреЗ рддреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдЕрдзрд┐рдХ рдХрдареАрдг рдЖрд╣реЗ. рдЦрд╛рд▓реА рджреЛрди рдкреНрд░рдХрд░рдгреЗ рдЖрд╣реЗрдд рдЬреНрдпрд╛рдд рдЖрдХрд░реНрд╖рдХ рд╢рдЯрдбрд╛рдЙрди рдХрд╛рд░реНрдп рдХрд░рдд рдирд╛рд╣реА рдЖрдгрд┐ рддреИрдирд╛рддреА рджрд░рдореНрдпрд╛рди рдкреНрд░рдХрд▓реНрдкрд╛рдЪреА рдЕрд▓реНрдкрдХрд╛рд▓реАрди рдЕрдиреБрдкрд▓рдмреНрдзрддрд╛ рдирд┐рд░реНрдорд╛рдг рдЭрд╛рд▓реА.

рд╕рд░рд╛рд╡. рдЧреНрд░реЗрд╕рдлреБрд▓ рд╢рдЯрдбрд╛рдЙрдирд╕рд╣ рд╕рдВрднрд╛рд╡реНрдп рд╕рдорд╕реНрдпрд╛

рдПрдирдЬреАрдПрдирдПрдХреНрд╕

рд╕рд░реНрд╡ рдкреНрд░рдердо, рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рдгреЗ рдЙрдкрдпреБрдХреНрдд рдЖрд╣реЗ: рдХрдорд╛рдВрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд nginx -s quit рдЖрдгрдЦреА рдПрдХ рдЯрдкреНрдкрд╛ рдЖрд╣реЗ рдЬреНрдпрд╛рдХрдбреЗ рд▓рдХреНрд╖ рджреЗрдгреЗ рдпреЛрдЧреНрдп рдЖрд╣реЗ. рдЖрдореНрд╣рд╛рд▓рд╛ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдЖрд▓реА рдЬрд┐рдереЗ NGINX рдЕрдЬреВрдирд╣реА SIGQUIT рд╕рд┐рдЧреНрдирд▓рдРрд╡рдЬреА SIGTERM рдкрд╛рдард╡реЗрд▓, рдЬреНрдпрд╛рдореБрд│реЗ рд╡рд┐рдирдВрддреНрдпрд╛ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдкреВрд░реНрдг рд╣реЛрдд рдирд╛рд╣реАрдд. рддрддреНрд╕рдо рдкреНрд░рдХрд░рдгреЗ рдЖрдврд│реВ рд╢рдХрддрд╛рдд, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдпреЗрдереЗ. рджреБрд░реНрджреИрд╡рд╛рдиреЗ, рдЖрдореНрд╣реА рдпрд╛ рд╡рд░реНрддрдирд╛рдЪреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░рдг рдард░рд╡реВ рд╢рдХрд▓реЛ рдирд╛рд╣реА: NGINX рдЖрд╡реГрддреНрддреАрдмрджреНрджрд▓ рд╢рдВрдХрд╛ рд╣реЛрддреА, рдкрд░рдВрддреБ рддреНрдпрд╛рдЪреА рдкреБрд╖реНрдЯреА рдЭрд╛рд▓реА рдирд╛рд╣реА. рд▓рдХреНрд╖рдг рдЕрд╕реЗ рд╣реЛрддреЗ рдХреА NGINX рдХрдВрдЯреЗрдирд░ рд▓реЙрдЧрдордзреНрдпреЗ рд╕рдВрджреЗрд╢ рджрд┐рд╕рд▓реЗ: "рдЬреЛрдбрдгреА 10 рдордзреНрдпреЗ рдЙрдШрдбреЗ рд╕реЙрдХреЗрдЯ #5 рдмрд╛рдХреА", рдЬреНрдпрд╛рдирдВрддрд░ рдкреЙрдб рдерд╛рдВрдмрд▓рд╛.

рдЖрдореНрд╣реА рдЕрд╢рд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реВ рд╢рдХрддреЛ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рд╡реЗрд╢рд╛рд╡рд░реАрд▓ рдкреНрд░рддрд┐рд╕рд╛рджрд╛рдВрд╡рд░реВрди:

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдЯрд┐рдкреНрд╕ рдЖрдгрд┐ рдпреБрдХреНрддреНрдпрд╛: рдПрдирдЬреАрдЖрдпрдПрдирдПрдХреНрд╕ рдЖрдгрд┐ рдкреАрдПрдЪрдкреА-рдПрдлрдкреАрдПрдо рдордзреАрд▓ рдЖрдХрд░реНрд╖рдХ рд╢рдЯрдбрд╛рдЙрдирдЪреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ
рддреИрдирд╛рддреАрдЪреНрдпрд╛ рд╡реЗрд│реА рд╕реНрдерд┐рддреА рдХреЛрдбрдЪреЗ рдирд┐рд░реНрджреЗрд╢рдХ

рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдЖрдореНрд╣рд╛рд▓рд╛ Ingress рдХрдбреВрди рдлрдХреНрдд 503 рддреНрд░реБрдЯреА рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЛ: рддреЛ NGINX рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА, рдХрд╛рд░рдг рддреЛ рдпрд╛рдкреБрдвреЗ рдкреНрд░рд╡реЗрд╢рдпреЛрдЧреНрдп рдирд╛рд╣реА. рддреБрдореНрд╣реА NGINX рд╕рд╣ рдХрдВрдЯреЗрдирд░ рд▓реЙрдЧ рдкрд╛рд╣рд┐рд▓реНрдпрд╛рд╕, рддреНрдпрд╛рдордзреНрдпреЗ рдЦрд╛рд▓реАрд▓ рдЧреЛрд╖реНрдЯреА рдЖрд╣реЗрдд:

[alert] 13939#0: *154 open socket #3 left in connection 16
[alert] 13939#0: *168 open socket #6 left in connection 13

рд╕реНрдЯреЙрдк рд╕рд┐рдЧреНрдирд▓ рдмрджрд▓рд▓реНрдпрд╛рдирдВрддрд░, рдХрдВрдЯреЗрдирд░ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдерд╛рдВрдмрдгреНрдпрд╛рд╕ рд╕реБрд░рд╡рд╛рдд рдХрд░рддреЛ: 503 рддреНрд░реБрдЯреА рдпрд╛рдкреБрдвреЗ рдкрд╛рд│рд▓реА рдЬрд╛рдд рдирд╛рд╣реА рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрджреНрд╡рд╛рд░реЗ рдпрд╛рдЪреА рдкреБрд╖реНрдЯреА рдХреЗрд▓реА рдЬрд╛рддреЗ.

рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрд╢реАрдЪ рд╕рдорд╕реНрдпрд╛ рдЖрд▓реНрдпрд╛рд╕, рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рдХреЛрдгрддрд╛ рд╕реНрдЯреЙрдк рд╕рд┐рдЧреНрдирд▓ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ рдкреНрд░реАрд╕реНрдЯреЙрдк рд╣реБрдХ рдХрд╕рд╛ рджрд┐рд╕рддреЛ рд╣реЗ рд╢реЛрдзрдгреНрдпрд╛рдд рдЕрд░реНрде рдЖрд╣реЗ. рд╣реЗ рдХрд╛рд░рдг рдЕрдЧрджреА рддрдВрддреЛрддрдВрдд рдЕрд╕рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдЖрд╣реЗ.

PHP-FPM... рдЖрдгрд┐ рдЕрдзрд┐рдХ

PHP-FPM рдордзреАрд▓ рд╕рдорд╕реНрдпреЗрдЪреЗ рд╡рд░реНрдгрди рдХреНрд╖реБрд▓реНрд▓рдХ рдкрджреНрдзрддреАрдиреЗ рдХреЗрд▓реЗ рдЖрд╣реЗ: рддреЗ рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░реНрдг рд╣реЛрдгреНрдпрд╛рдЪреА рд╡рд╛рдЯ рдкрд╛рд╣рдд рдирд╛рд╣реА, рддреЗ рддреНрдпрд╛рдВрдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░рддреЗ, рдореНрд╣рдгреВрдирдЪ рддреИрдирд╛рддреА рдЖрдгрд┐ рдЗрддрд░ рдСрдкрд░реЗрд╢рдиреНрд╕ рджрд░рдореНрдпрд╛рди 502 рддреНрд░реБрдЯреА рдЙрджреНрднрд╡рддрд╛рдд. bugs.php.net рд╡рд░ 2005 рдкрд╛рд╕реВрди рдЕрдиреЗрдХ рдмрдЧ рдЕрд╣рд╡рд╛рд▓ рдЖрд╣реЗрдд (рдЙрджрд╛ рдпреЗрдереЗ ╨╕ рдпреЗрдереЗ), рдЬреЗ рдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рд╡рд░реНрдгрди рдХрд░рддреЗ. рдкрд░рдВрддреБ рдмрд╣реБрдзрд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рд▓реЙрдЧрдордзреНрдпреЗ рдХрд╛рд╣реАрд╣реА рджрд┐рд╕рдгрд╛рд░ рдирд╛рд╣реА: PHP-FPM рдХреЛрдгрддреНрдпрд╛рд╣реА рддреНрд░реБрдЯреА рдХрд┐рдВрд╡рд╛ рддреГрддреАрдп-рдкрдХреНрд╖ рд╕реВрдЪрдирд╛рдВрд╢рд┐рд╡рд╛рдп рддреНрдпрд╛рдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░реНрдг рдЭрд╛рд▓реНрдпрд╛рдЪреА рдШреЛрд╖рдгрд╛ рдХрд░реЗрд▓.

рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдгреЗ рдпреЛрдЧреНрдп рдЖрд╣реЗ рдХреА рд╕рдорд╕реНрдпрд╛ рд╕реНрд╡рддрдГрдЪ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рд╡рд░ рдХрдореА рдХрд┐рдВрд╡рд╛ рдЬрд╛рд╕реНрдд рдкреНрд░рдорд╛рдгрд╛рдд рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕реВ рд╢рдХрддреЗ рдЖрдгрд┐ рд╕реНрд╡рддрдГ рдкреНрд░рдХрдЯ рд╣реЛрдК рд╢рдХрдд рдирд╛рд╣реА, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдореЙрдирд┐рдЯрд░рд┐рдВрдЧрдордзреНрдпреЗ. рддреБрдореНтАНрд╣рд╛рд▓рд╛ рддреЗ рдЖрдврд│рд▓реНтАНрдпрд╛рд╕, рдкреНрд░рдердо рдПрдХ рд╕реЛрдкрд╛ рдЙрдкрд╛рдп рд▓рдХреНрд╖рд╛рдд рдпреЗрдИрд▓: рдкреНрд░реАрд╕реНтАНрдЯреЙрдк рд╣реБрдХ рдпрд╛рд╕рд╣ рдЬреЛрдбрд╛ sleep(30). рд╣реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрдзреАрдЪреНрдпрд╛ рд╕рд░реНрд╡ рд╡рд┐рдирдВрддреНрдпрд╛ рдкреВрд░реНрдг рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрдИрд▓ (рдЖрдгрд┐ рдкреЙрдбрдкрд╛рд╕реВрди рдЖрдореНрд╣реА рдирд╡реАрди рд╕реНрд╡реАрдХрд╛рд░рдд рдирд╛рд╣реА рдЖрдзреАрдЪ рд╕рдХреНрд╖рдо рд╕рдорд╛рдкреНрдд рдХрд░рдгреЗ), рдЖрдгрд┐ 30 рд╕реЗрдХрдВрджрд╛рдВрдирдВрддрд░ рдкреЙрдб рд╕реНрд╡рддрдГ рд╕рд┐рдЧреНрдирд▓рд╕рд╣ рд╕рдорд╛рдкреНрдд рд╣реЛрдИрд▓ SIGTERM.

рддреЛ рдмрд╛рд╣реЗрд░ рд╡рд│рддреЗ рдХреА lifecycle рдХрдВрдЯреЗрдирд░ рдпрд╛рд╕рд╛рд░рдЦреЗ рджрд┐рд╕реЗрд▓:

    lifecycle:
      preStop:
        exec:
          command:
          - /bin/sleep
          - "30"

рддрдерд╛рдкрд┐, 30-рд╕реЗрдХрдВрджрдореБрд│реЗ sleep рдЖрдореНрд╣реА рдЖрд╣реЛрдд рдЬрд╛рд╕реНрдд рдЖрдореНрд╣реА рддреИрдирд╛рддреА рд╡реЗрд│ рд╡рд╛рдврд╡реВ, рдХрд╛рд░рдг рдкреНрд░рддреНрдпреЗрдХ рдкреЙрдб рд╕рдВрдкреБрд╖реНрдЯрд╛рдд рдпреЗрдИрд▓ рдХрд┐рдорд╛рди 30 рд╕реЗрдХрдВрдж, рдЬреЗ рд╡рд╛рдИрдЯ рдЖрд╣реЗ. рдпрд╛рдмрд╛рдмрдд рдХрд╛рдп рдХрд░рддрд╛ рдпреЗрдИрд▓?

рдЪрд▓рд╛ рдЕрд░реНрдЬрд╛рдЪреНрдпрд╛ рдереЗрдЯ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдкрдХреНрд╖рд╛рдХрдбреЗ рд╡рд│реВрдпрд╛. рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд рддреЗ рдЖрд╣реЗ рдкреАрдПрдЪрдкреА-рдПрдлрдкреАрдПрдо, рдЬреЗ рдмрд╛рдп рдбреАрдлреЙрд▓реНрдЯ рддреНрдпрд╛рдЪреНрдпрд╛ рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдд рдирд╛рд╣реА: рдорд╛рд╕реНрдЯрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддрд╛рдмрдбрддреЛрдм рдмрдВрдж рдХреЗрд▓реА рдЬрд╛рддреЗ. рддреБрдореНрд╣реА рдирд┐рд░реНрджреЗрд╢ рд╡рд╛рдкрд░реВрди рд╣реЗ рд╡рд░реНрддрди рдмрджрд▓реВ рд╢рдХрддрд╛ process_control_timeout, рдЬреЗ рдорд╛рд╕реНрдЯрд░рдХрдбреВрди рд╕рд┐рдЧреНрдирд▓рдЪреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдореБрд▓рд╛рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕рд╛рдареА рд╡реЗрд│ рдорд░реНрдпрд╛рджрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ. рддреБрдореНрд╣реА рдореВрд▓реНрдп 20 рд╕реЗрдХрдВрджрд╛рдВрд╡рд░ рд╕реЗрдЯ рдХреЗрд▓реНрдпрд╛рд╕, рд╣реЗ рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рдЪрд╛рд▓реВ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдмрд╣реБрддреЗрдХ рдХреНрд╡реЗрд░реА рдХрд╡реНрд╣рд░ рдХрд░реЗрд▓ рдЖрдгрд┐ рддреЗ рдкреВрд░реНрдг рдЭрд╛рд▓реНрдпрд╛рд╡рд░ рдорд╛рд╕реНрдЯрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдерд╛рдВрдмрд╡реЗрд▓.

рдпрд╛ рдЬреНрдЮрд╛рдирд╛рд╕рд╣, рдЪрд▓рд╛ рдЖрдкрд▓реНрдпрд╛ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рд╕рдорд╕реНрдпреЗрдХрдбреЗ рдкрд░рдд рдЬрд╛рдКрдпрд╛. рдирдореВрдж рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдПрдХ рдореЛрдиреЛрд▓рд┐рдерд┐рдХ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рдирд╛рд╣реА: рддреНрдпрд╛рдЪреНрдпрд╛ рднрд┐рдиреНрди рдШрдЯрдХрд╛рдВрдордзреАрд▓ рд╕рдВрд╡рд╛рджрд╛рд╕ рдереЛрдбрд╛ рд╡реЗрд│ рд▓рд╛рдЧрддреЛ. рд╣реЗ рд╡рд┐рд╢реЗрд╖рддрдГ рдЦрд░реЗ рдЖрд╣реЗ рдЬреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣реА рдЗрдВрдЧреНрд░реЗрд╕ рдЖрдгрд┐ рдЗрддрд░ рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдХрд╛рдВрдЪреНрдпрд╛ рдСрдкрд░реЗрд╢рдирдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЛ, рдХрд╛рд░рдг рддреИрдирд╛рддреАрдЪреНрдпрд╛ рд╡реЗрд│реА рдЕрд╢рд╛ рд╡рд┐рд▓рдВрдмрд╛рдореБрд│реЗ 500 рддреНрд░реБрдЯреАрдВрдЪреА рд╡рд╛рдв рд╣реЛрдгреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЕрдкрд╕реНрдЯреНрд░реАрдорд▓рд╛ рд╡рд┐рдирдВрддреА рдкрд╛рдард╡рдгреНрдпрд╛рдЪреНрдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░ рдПрд░рд░ рдпреЗрдК рд╢рдХрддреЗ, рдкрд░рдВрддреБ рдШрдЯрдХрд╛рдВрдордзреАрд▓ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджрд╛рдЪрд╛ "рдЯрд╛рдЗрдо рд▓реЕрдЧ" рдЦреВрдкрдЪ рд▓рд╣рд╛рди рдЖрд╣реЗ - рдПрдХрд╛ рд╕реЗрдХрдВрджрд╛рдкреЗрдХреНрд╖рд╛ рдХрдореА.

рдореНрд╣рдгреВрдирдЪ, рдПрдХреВрдг рдЖрдзреАрдЪ рдирдореВрдж рдХреЗрд▓реЗрд▓реНрдпрд╛ рдирд┐рд░реНрджреЗрд╢рд╛рд╕рд╣ process_control_timeout рдЖрдкрдг рдЦрд╛рд▓реАрд▓ рдмрд╛рдВрдзрдХрд╛рдо рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ lifecycle:

lifecycle:
  preStop:
    exec:
      command: ["/bin/bash","-c","/bin/sleep 1; kill -QUIT 1"]

рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдЖрдореНрд╣реА рдЖрджреЗрд╢рд╛рд╕рд╣ рд╡рд┐рд▓рдВрдмрд╛рдЪреА рднрд░рдкрд╛рдИ рдХрд░реВ sleep рдЖрдгрд┐ рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯрдЪреА рд╡реЗрд│ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рд╡рд╛рдврд╡реВ рдирдХрд╛: рейреж рд╕реЗрдХрдВрдж рдЖрдгрд┐ рдПрдХ рдпрд╛рдВрдордзреНрдпреЗ рд▓рдХреНрд╖рдгреАрдп рдлрд░рдХ рдЖрд╣реЗ рдХрд╛?.. рдЦрд░рдВ рддрд░, рддреЗ рдЖрд╣реЗ process_control_timeoutрдЖрдгрд┐ lifecycle рдЕрдВрддрд░рд╛рдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд рдлрдХреНрдд "рд╕реБрд░рдХреНрд╖рд╛ рдЬрд╛рд│реА" рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ.

рд╕рд╛рдзрд╛рд░рдгрддрдГ рдмреЛрд▓рд╛рддрд╛рдВрдиреА, рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реЗ рд╡рд░реНрддрди рдЖрдгрд┐ рд╕рдВрдмрдВрдзрд┐рдд рдЙрдкрд╛рдп рдХреЗрд╡рд│ PHP-FPM рд▓рд╛ рд▓рд╛рдЧреВ рд╣реЛрдд рдирд╛рд╣реАрдд. рдЗрддрд░ рднрд╛рд╖рд╛/рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд╛рдкрд░рддрд╛рдирд╛ рдПрдХ рдирд╛ рдПрдХ рдкреНрд░рдХрд╛рд░реЗ рдЕрд╢реАрдЪ рдкрд░рд┐рд╕реНрдерд┐рддреА рдЙрджреНрднрд╡реВ рд╢рдХрддреЗ. рддреБрдореНрд╣реА рдЗрддрд░ рдорд╛рд░реНрдЧрд╛рдВрдиреА рдЧреНрд░реЗрд╕рдлреБрд▓ рд╢рдЯрдбрд╛рдЙрдирдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░реВ рд╢рдХрдд рдирд╕рд▓реНрдпрд╛рд╕ - рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдХреЛрдб рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣реВрди рдЬреЗрдгреЗрдХрд░реБрди рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдорд╛рдкреНрддреА рд╕рд┐рдЧреНрдирд▓рд╡рд░ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░реЗрд▓ - рддреБрдореНрд╣реА рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реА рдкрджреНрдзрдд рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛. рд╣реЗ рд╕рд░реНрд╡рд╛рдд рд╕реБрдВрджрд░ рдЕрд╕реВ рд╢рдХрдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рддреЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ.

рд╕рд░рд╛рд╡. рдкреЙрдбрдЪреЗ рдСрдкрд░реЗрд╢рди рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА рд▓реЛрдб рдЪрд╛рдЪрдгреА

рд▓реЛрдб рдЪрд╛рдЪрдгреА рд╣рд╛ рдХрдВрдЯреЗрдирд░ рдХрд╕рд╛ рдХрд╛рд░реНрдп рдХрд░рддреЛ рд╣реЗ рддрдкрд╛рд╕рдгреНрдпрд╛рдЪрд╛ рдПрдХ рдорд╛рд░реНрдЧ рдЖрд╣реЗ, рдХрд╛рд░рдг рд╡рд╛рдкрд░рдХрд░реНрддреЗ рд╕рд╛рдЗрдЯрд▓рд╛ рднреЗрдЯ рджреЗрддрд╛рдд рддреЗрд╡реНрд╣рд╛ рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд▓рдврд╛рдК рдкрд░рд┐рд╕реНрдерд┐рддреАрдЪреНрдпрд╛ рдЬрд╡рд│ рдЖрдгрддреЗ. рд╡рд░реАрд▓ рд╢рд┐рдлрд╛рд░рд╕реА рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдкрдг рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ Yandex.Tankom: рд╣реЗ рдЖрдкрд▓реНрдпрд╛ рд╕рд░реНрд╡ рдЧрд░рдЬрд╛ рдкреВрд░реНрдгрдкрдгреЗ рдХрд╡реНрд╣рд░ рдХрд░рддреЗ. рдЧреНрд░рд╛рдлрд╛рдирд╛ рдЖрдгрд┐ Yandex.Tank рдЪреНрдпрд╛ рдЖрд▓реЗрдЦрд╛рдВрдмрджреНрджрд▓ рдзрдиреНрдпрд╡рд╛рдж рдЖрдордЪреНрдпрд╛ рдЕрдиреБрднрд╡рд╛рддреВрди рд╕реНрдкрд╖реНрдЯ рдЙрджрд╛рд╣рд░рдгрд╛рд╕рд╣ рдЪрд╛рдЪрдгреА рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЦрд╛рд▓реАрд▓ рдЯрд┐рдкрд╛ рдЖрдгрд┐ рд╢рд┐рдлрд╛рд░рд╕реА рдЖрд╣реЗрдд.

рдпреЗрдереЗ рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрд╡рд╛рдЪреА рдЧреЛрд╖реНрдЯ рдЖрд╣реЗ рдЯрдкреНрдкреНрдпрд╛рдЯрдкреНрдкреНрдпрд╛рдиреЗ рдмрджрд▓ рддрдкрд╛рд╕рд╛. рдирд╡реАрди рдирд┐рд░рд╛рдХрд░рдг рдЬреЛрдбрд▓реНрдпрд╛рдирдВрддрд░, рдЪрд╛рдЪрдгреА рдЪрд╛рд▓рд╡рд╛ рдЖрдгрд┐ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рд░рдирдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рдкрд░рд┐рдгрд╛рдо рдмрджрд▓рд▓реЗ рдЖрд╣реЗрдд рдХрд╛ рддреЗ рдкрд╣рд╛. рдЕрдиреНрдпрдерд╛, рдХреБрдЪрдХрд╛рдореА рдЙрдкрд╛рдп рдУрд│рдЦрдгреЗ рдХрдареАрдг рд╣реЛрдИрд▓ рдЖрдгрд┐ рджреАрд░реНрдШрдХрд╛рд│рд╛рдд рддреЗ рдХреЗрд╡рд│ рдиреБрдХрд╕рд╛рди рдХрд░реВ рд╢рдХрддреЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рддреИрдирд╛рддреА рд╡реЗрд│ рд╡рд╛рдврд╡рд╛).

рдЖрдгрдЦреА рдПрдХ рдмрд╛рд░рдХрд╛рд╡реЗ рдореНрд╣рдгрдЬреЗ рдХрдВрдЯреЗрдирд░ рд▓реЙрдЧ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕рдорд╛рдкреНрддреАрджрд░рдореНрдпрд╛рди рдкрд╛рд╣рдгреЗ. рдЧреНрд░реЗрд╕рдлреБрд▓ рд╢рдЯрдбрд╛рдЙрдирдЪреА рдорд╛рд╣рд┐рддреА рддрд┐рдереЗ рдиреЛрдВрджрд╡рд▓реА рдЖрд╣реЗ рдХрд╛? рдЗрддрд░ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдордзреНрдпреЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╢реЗрдЬрд╛рд░рдЪреНрдпрд╛ PHP-FPM рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ) рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛рдирд╛ рд▓реЙрдЧрдордзреНрдпреЗ рдХрд╛рд╣реА рддреНрд░реБрдЯреА рдЖрд╣реЗрдд рдХрд╛? рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рддрдЪ рддреНрд░реБрдЯреА (рд╡рд░ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдПрдирдЬреАрдЖрдпрдПрдирдПрдХреНрд╕рдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд)? рдорд▓рд╛ рдЖрд╢рд╛ рдЖрд╣реЗ рдХреА рдпрд╛ рд▓реЗрдЦрд╛рддреАрд▓ рдкреНрд░рд╛рд╕реНрддрд╛рд╡рд┐рдХ рдорд╛рд╣рд┐рддреА рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдХрдВрдЯреЗрдирд░рдЪреНрдпрд╛ рд╕рдорд╛рдкреНрддреАрджрд░рдореНрдпрд╛рди рдХрд╛рдп рд╣реЛрддреЗ рд╣реЗ рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕ рдорджрдд рдХрд░реЗрд▓.

рддрд░, рдкрд╣рд┐рд▓реА рдЪрд╛рдЪрдгреА рд░рди рд╡рд┐рдирд╛ рдЭрд╛рд▓реА lifecycle рдЖрдгрд┐ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡реНрд╣рд░рд╕рд╛рдареА рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд░реНрджреЗрд╢рд╛рдВрд╢рд┐рд╡рд╛рдп (process_control_timeout PHP-FPM рдордзреНрдпреЗ). рдпрд╛ рдЪрд╛рдЪрдгреАрдЪрд╛ рдЙрджреНрджреЗрд╢ рддреНрд░реБрдЯреАрдВрдЪреА рдЕрдВрджрд╛рдЬреЗ рд╕рдВрдЦреНрдпрд╛ рдУрд│рдЦрдгреЗ (рдЖрдгрд┐ рдХрд╛рд╣реА рдЖрд╣реЗрдд рдХрд╛) рд╣реЗ рд╣реЛрддреЗ. рддрд╕реЗрдЪ, рдЕрддрд┐рд░рд┐рдХреНрдд рдорд╛рд╣рд┐рддреАрд╡рд░реВрди, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╣реЗ рдорд╛рд╣рд┐рдд рдЕрд╕рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдкреЙрдб рдкреВрд░реНрдгрддрдГ рддрдпрд╛рд░ рд╣реЛрдИрдкрд░реНрдпрдВрдд рд╕рд░рд╛рд╕рд░реА рдЙрдкрдпреЛрдЬрди рд╡реЗрд│ рд╕реБрдорд╛рд░реЗ 5-10 рд╕реЗрдХрдВрдж рдЖрд╣реЗ. рдкрд░рд┐рдгрд╛рдо рдЖрд╣реЗрдд:

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдЯрд┐рдкреНрд╕ рдЖрдгрд┐ рдпреБрдХреНрддреНрдпрд╛: рдПрдирдЬреАрдЖрдпрдПрдирдПрдХреНрд╕ рдЖрдгрд┐ рдкреАрдПрдЪрдкреА-рдПрдлрдкреАрдПрдо рдордзреАрд▓ рдЖрдХрд░реНрд╖рдХ рд╢рдЯрдбрд╛рдЙрдирдЪреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ

Yandex.Tank рдорд╛рд╣рд┐рддреА рдкреЕрдиреЗрд▓ 502 рддреНрд░реБрдЯреАрдВрдЪреА рд╡рд╛рдв рджрд░реНрд╢рд╡рддреЗ, рдЬреА рддреИрдирд╛рддреАрдЪреНрдпрд╛ рд╡реЗрд│реА рдЙрджреНрднрд╡рд▓реА рдЖрдгрд┐ рд╕рд░рд╛рд╕рд░реА 5 рд╕реЗрдХрдВрджрд╛рдВрдкрд░реНрдпрдВрдд рдЯрд┐рдХрд▓реА. рдмрд╣реБрдзрд╛ рд╣реЗ рдЕрд╕реЗ рд╣реЛрддреЗ рдХрд╛рд░рдг рдЬреБрдиреНрдпрд╛ рдкреЙрдбрдЪреНрдпрд╛ рд╡рд┐рджреНрдпрдорд╛рди рд╡рд┐рдирдВрддреНрдпрд╛ рд╕рдВрдкреБрд╖реНрдЯрд╛рдд рдЖрдгрд▓реНрдпрд╛ рдЬрд╛рдд рдЕрд╕рддрд╛рдирд╛ рддреНрдпрд╛ рд░рджреНрдж рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдд рд╣реЛрддреНрдпрд╛. рдпрд╛рдирдВрддрд░, 503 рддреНрд░реБрдЯреА рджрд┐рд╕реВрди рдЖрд▓реНрдпрд╛, рдЬреЗ рдерд╛рдВрдмрд▓реЗрд▓реНрдпрд╛ рдПрдирдЬреАрдЖрдпрдПрдирдПрдХреНрд╕ рдХрдВрдЯреЗрдирд░рдЪрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реЛрддрд╛, рдЬреНрдпрд╛рдиреЗ рдмреЕрдХрдПрдВрдбрдореБрд│реЗ рдХрдиреЗрдХреНрд╢рди рджреЗрдЦреАрд▓ рд╕реЛрдбрд▓реЗ (рдЬреНрдпрд╛рдиреЗ рдЗрдВрдЧреНрд░реЗрд╕рд▓рд╛ рддреНрдпрд╛рдЪреНрдпрд╛рд╢реА рдХрдиреЗрдХреНрдЯ рд╣реЛрдгреНрдпрд╛рдкрд╛рд╕реВрди рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХреЗрд▓реЗ).

рдХрд╕реЗ рддреЗ рдкрд╛рд╣реВ process_control_timeout PHP-FPM рдордзреНтАНрдпреЗ рдЖрдореНтАНрд╣рд╛рд▓рд╛ рдЪрд╛рдЗрд▓реНтАНрдб рдкреНрд░реЛрд╕реЗрд╕ рдкреВрд░реНрдг рд╣реЛрдгреНтАНрдпрд╛рдЪреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдгреНтАНрдпрд╛рдд рдорджрдд рд╣реЛрдИрд▓, рдЙрджрд╛. рдЕрд╢рд╛ рдЪреБрдХрд╛ рджреБрд░реБрд╕реНрдд рдХрд░рд╛. рд╣реЗ рдирд┐рд░реНрджреЗрд╢ рд╡рд╛рдкрд░реВрди рдкреБрдиреНрд╣рд╛ рддреИрдирд╛рдд рдХрд░рд╛:

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдЯрд┐рдкреНрд╕ рдЖрдгрд┐ рдпреБрдХреНрддреНрдпрд╛: рдПрдирдЬреАрдЖрдпрдПрдирдПрдХреНрд╕ рдЖрдгрд┐ рдкреАрдПрдЪрдкреА-рдПрдлрдкреАрдПрдо рдордзреАрд▓ рдЖрдХрд░реНрд╖рдХ рд╢рдЯрдбрд╛рдЙрдирдЪреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ

500 рд╡реНрдпрд╛ рддреИрдирд╛рддреА рджрд░рдореНрдпрд╛рди рдЖрдгрдЦреА рддреНрд░реБрдЯреА рдирд╛рд╣реАрдд! рдЙрдкрдпреЛрдЬрди рдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реЗ рдЖрд╣реЗ, рдЖрдХрд░реНрд╖рдХ рд╢рдЯрдбрд╛рдЙрди рдХрд╛рд░реНрдп рдХрд░рддреЗ.

рддрдерд╛рдкрд┐, рдЗрдВрдЧреНрд░реЗрд╕ рдХрдВрдЯреЗрдирд░реНрд╕рдЪреА рд╕рдорд╕реНрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рд░рдЦреА рдЖрд╣реЗ, рддреНрд░реБрдЯреАрдВрдЪреА рдПрдХ рд▓рд╣рд╛рди рдЯрдХреНрдХреЗрд╡рд╛рд░реА рдЬреНрдпрд╛рдордзреНрдпреЗ рдЖрдореНрд╣рд╛рд▓рд╛ рд╡реЗрд│реЗрдЪреНрдпрд╛ рдЕрдВрддрд░рд╛рдореБрд│реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдК рд╢рдХрддреЗ. рддреНрдпрд╛рдВрдирд╛ рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА, рдлрдХреНрдд рдПрдХ рд░рдЪрдирд╛ рдЬреЛрдбрдгреЗ рдмрд╛рдХреА рдЖрд╣реЗ sleep рдЖрдгрд┐ рдЙрдкрдпреЛрдЬрди рдкреБрдиреНрд╣рд╛ рдХрд░рд╛. рддрдерд╛рдкрд┐, рдЖрдордЪреНрдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд╛рдмрддреАрдд, рдХреЛрдгрддреЗрд╣реА рдмрджрд▓ рджреГрд╢реНрдпрдорд╛рди рдирд╡реНрд╣рддреЗ (рдкреБрдиреНрд╣рд╛, рдХреЛрдгрддреНрдпрд╛рд╣реА рддреНрд░реБрдЯреА рдирд╛рд╣реАрдд).

рдирд┐рд╖реНрдХрд░реНрд╖

рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреГрдкрд╛рдкреВрд░реНрд╡рдХ рд╕рдорд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдХрдбреВрди рдЦрд╛рд▓реАрд▓ рд╡рд░реНрддрдирд╛рдЪреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЛ:

  1. рдХрд╛рд╣реА рд╕реЗрдХрдВрдж рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рд╛ рдЖрдгрд┐ рдирдВрддрд░ рдирд╡реАрди рдХрдиреЗрдХреНрд╢рди рд╕реНрд╡реАрдХрд╛рд░рдгреЗ рдерд╛рдВрдмрд╡рд╛.
  2. рд╕рд░реНрд╡ рд╡рд┐рдирдВрддреНрдпрд╛ рдкреВрд░реНрдг рд╣реЛрдИрдкрд░реНрдпрдВрдд рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рд╛ рдЖрдгрд┐ рд╡рд┐рдирдВрддреНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рди рдХрд░рдгрд╛рд░реЗ рд╕рд░реНрд╡ рдХрд╛рдпрдорд╕реНрд╡рд░реВрдкреА рдХрдиреЗрдХреНрд╢рди рдмрдВрдж рдХрд░рд╛.
  3. рддреБрдордЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдВрдкрд╡рд╛.

рддрдерд╛рдкрд┐, рд╕рд░реНрд╡ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдХрд╛рд░реНрдп рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реАрдд. рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдЪреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддреЗрддреАрд▓ рд╕рдорд╕реНрдпреЗрдЪреЗ рдПрдХ рдирд┐рд░рд╛рдХрд░рдг рдЖрд╣реЗ:

  • рдкреНрд░реА-рд╕реНрдЯреЙрдк рд╣реБрдХ рдЬреЛрдбрдгреЗ рдЬреЗ рдХрд╛рд╣реА рд╕реЗрдХрдВрдж рдерд╛рдВрдмреЗрд▓;
  • рдпреЛрдЧреНрдп рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╕рд╛рдареА рдЖрдордЪреНрдпрд╛ рдмреЕрдХрдПрдВрдбрдЪреНрдпрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓рдЪрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рдд рдЖрд╣реЗ.

NGINX рд╕рд╣ рдЙрджрд╛рд╣рд░рдг рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ рдХреА рдЬреНрдпрд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдиреЗ рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рдЯрд░реНрдорд┐рдиреЗрд╢рди рд╕рд┐рдЧреНрдирд▓рд╡рд░ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдкрд╛рд╣рд┐рдЬреЗ рддреЗ рджреЗрдЦреАрд▓ рддрд╕реЗ рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА, рддреНрдпрд╛рдореБрд│реЗ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рджрд░рдореНрдпрд╛рди 500 рддреНрд░реБрдЯреА рддрдкрд╛рд╕рдгреЗ рдорд╣рддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ. рд╣реЗ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╕рдорд╕реНрдпреЗрдХрдбреЗ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рдкрдХрдкрдгреЗ рдкрд╛рд╣рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рдПрдХрд╛ рдкреЙрдб рдХрд┐рдВрд╡рд╛ рдХрдВрдЯреЗрдирд░рд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рди рдХрд░рддрд╛ рд╕рдВрдкреВрд░реНрдг рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдХрдбреЗ рд▓рдХреНрд╖ рджреЗрдгреНрдпрд╛рдЪреА рдЕрдиреБрдорддреА рджреЗрддреЗ.

рдЪрд╛рдЪрдгреА рд╕рд╛рдзрди рдореНрд╣рдгреВрди, рдЖрдкрдг Yandex.Tank рдЪрд╛ рд╡рд╛рдкрд░ рдХреЛрдгрддреНрдпрд╛рд╣реА рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдорд╕рд╣ рдХрд░реВ рд╢рдХрддрд╛ (рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рдЪрд╛рдЪрдгреАрд╕рд╛рдареА рдкреНрд░реЛрдорд┐рдерд┐рдпрд╕ рдмреЕрдХрдПрдВрдбрд╕рд╣ рдЧреНрд░рд╛рдлрдирд╛рдХрдбреВрди рдбреЗрдЯрд╛ рдШреЗрдгреНрдпрд╛рдд рдЖрд▓рд╛ рд╣реЛрддрд╛). рдЧреНрд░реЗрд╕рдлреБрд▓ рд╢рдЯрдбрд╛рдЙрдирдордзреАрд▓ рд╕рдорд╕реНрдпрд╛ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдирд┐рд░реНрдорд╛рдг рдХрд░реВ рд╢рдХрдгрд╛рд░реНтАНрдпрд╛ рдЬрдб рднрд╛рд░рд╛рдВрдЦрд╛рд▓реА рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рджрд┐рд╕рддрд╛рдд рдЖрдгрд┐ рдкрд░реАрдХреНрд╖рдгрд╛рджрд░рдореНрдпрд╛рди рдХрд┐рдВрд╡рд╛ рдирдВрддрд░рдЪреНрдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдЪреЗ рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдгреНрдпрд╛рдд рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдорджрдд рдХрд░рддреЗ.

рд▓реЗрдЦрд╛рд╡рд░реАрд▓ рдЕрднрд┐рдкреНрд░рд╛рдпрд╛рд▓рд╛ рдкреНрд░рддрд┐рд╕рд╛рдж рдореНрд╣рдгреВрди: рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ рдХреА рдпреЗрдереЗ рдПрдирдЬреАрдЖрдпрдПрдирдПрдХреНрд╕ рдЗрдВрдЧреНрд░реЗрд╕рдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рд╕рдорд╕реНрдпрд╛ рдЖрдгрд┐ рдЙрдкрд╛рдп рд╡рд░реНрдгрди рдХреЗрд▓реЗ рдЖрд╣реЗрдд. рдЗрддрд░ рдкреНрд░рдХрд░рдгрд╛рдВрд╕рд╛рдареА, рдЗрддрд░ рдЙрдкрд╛рдп рдЖрд╣реЗрдд, рдЬреНрдпрд╛рдВрдЪрд╛ рдЖрдореНрд╣реА рдорд╛рд▓рд┐рдХреЗрдЪреНрдпрд╛ рдЦрд╛рд▓реАрд▓ рд╕рд╛рдордЧреНрд░реАрдордзреНрдпреЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реВ рд╢рдХрддреЛ.

PS

K8s рдЯрд┐рдкрд╛ рдЖрдгрд┐ рдпреБрдХреНрддреНрдпрд╛ рдорд╛рд▓рд┐рдХреЗрддреАрд▓ рдЗрддрд░:

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛