рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)

27 рдПрдкреНрд░рд┐рд▓ рд░реЛрдЬреА рдкрд░рд┐рд╖рджреЗрдд рд╕рдВрдк 2019, тАЬDevOpsтАЭ рд╡рд┐рднрд╛рдЧрд╛рдЪрд╛ рднрд╛рдЧ рдореНрд╣рдгреВрди, тАЬрдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреАрд▓ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдитАЭ рд╣рд╛ рдЕрд╣рд╡рд╛рд▓ рджреЗрдгреНрдпрд╛рдд рдЖрд▓рд╛. рддреБрдордЪреНрдпрд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдЪреА рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдЙрддреНрдХреГрд╖реНрдЯ рдХрд╛рдордЧрд┐рд░реА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА K8s рдХрд╕реЗ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ рдпрд╛рдмрджреНрджрд▓ рддреЗ рдмреЛрд▓рддреЗ.

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)

рдкрд░рдВрдкрд░реЗрдиреБрд╕рд╛рд░, рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рд╛рджрд░ рдХрд░рдгреНрдпрд╛рдд рдЖрдирдВрдж рд╣реЛрддреЛ рдЕрд╣рд╡рд╛рд▓рд╛рдЪрд╛ рд╡реНрд╣рд┐рдбрд┐рдУ (44 рдорд┐рдирд┐рдЯреЗ, рд▓реЗрдЦрд╛рдкреЗрдХреНрд╖рд╛ рдЕрдзрд┐рдХ рдорд╛рд╣рд┐рддреАрдкреВрд░реНрдг) рдЖрдгрд┐ рдордЬрдХреВрд░ рд╕реНрд╡рд░реВрдкрд╛рдд рдореБрдЦреНрдп рд╕рд╛рд░рд╛рдВрд╢. рдЬрд╛!

рдЪрд▓рд╛ рдЕрд╣рд╡рд╛рд▓рд╛рдЪреНрдпрд╛ рд╡рд┐рд╖рдпрд╛рдЪреЗ рд╢рдмреНрджрд╛рдиреБрд╕рд╛рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реВ рдЖрдгрд┐ рд╢реЗрд╡рдЯрдкрд╛рд╕реВрди рд╕реБрд░реБрд╡рд╛рдд рдХрд░реВ.

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕

рд╕рдордЬрд╛ рдЖрдордЪреНрдпрд╛ рд╣реЛрд╕реНрдЯрд╡рд░ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдЖрд╣реЗрдд. рдХрд╢рд╛рд╕рд╛рдареА? рдкреБрдирд░рд╛рд╡реГрддреНрддреАрдХреНрд╖рдорддрд╛ рдЖрдгрд┐ рдЕрд▓рдЧрд╛рд╡ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЬреЗ рдпрд╛рдордзреВрди рд╕рд╛рдзреЗ рдЖрдгрд┐ рдЪрд╛рдВрдЧрд▓реЗ рдЙрдкрдпреЛрдЬрди, CI/CD. рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдХрдВрдЯреЗрдирд░ рдЕрд╕рд▓реЗрд▓реА рдЕрд╢реА рдЕрдиреЗрдХ рд╡рд╛рд╣рдиреЗ рдЖрд╣реЗрдд.

рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХрд╛рдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛рдд?

  1. рдЖрдореНрд╣реА рдпрд╛ рдорд╢реАрдиреНрд╕рдмрджреНрджрд▓ рд╡рд┐рдЪрд╛рд░ рдХрд░рдгреЗ рдерд╛рдВрдмрд╡рддреЛ рдЖрдгрд┐ "рдХреНрд▓рд╛рдЙрдб" рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕ рд╕реБрд░рд╡рд╛рдд рдХрд░рддреЛ рдХрдВрдЯреЗрдирд░рдЪреЗ рдХреНрд▓рд╕реНрдЯрд░ рдХрд┐рдВрд╡рд╛ рд╢реЗрдВрдЧрд╛ (рдХрдВрдЯреЗрдирд░рдЪреЗ рдЧрдЯ).
  2. рд╢рд┐рд╡рд╛рдп, рдЖрдореНрд╣реА рд╡реИрдпрдХреНрддрд┐рдХ рд╢реЗрдВрдЧрд╛рдВрдмрджреНрджрд▓ рд╡рд┐рдЪрд╛рд░рд╣реА рдХрд░рдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рдЕрдзрд┐рдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЛ╨╛рдореЛрдареЗ рдЧрдЯ. рдЕрд╢рд╛ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдЖрджрд┐рдо рдЖрдореНрд╣рд╛рд▓рд╛ рдЕрд╕реЗ рдореНрд╣рдгрдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреНрдпрд╛ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд░реНрдХрд▓реЛрдб рдЪрд╛рд▓рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЖрд╣реЗ рдЖрдгрд┐ рддреЗ рдЪрд╛рд▓рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЙрджрд╛рд╣рд░рдгрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рдпреЗрдереЗ рдЖрд╣реЗ. рдЖрдореНрд╣реА рдирдВрддрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрджрд▓рд▓реНрдпрд╛рд╕, рд╕рд░реНрд╡ рдЙрджрд╛рд╣рд░рдгреЗ рдмрджрд▓рддреАрд▓.
  3. рдЪреНрдпрд╛ рдорджрддреАрдиреЗ рдШреЛрд╖рдгрд╛рддреНрдордХ API рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрдЬреНрдЮрд╛рдВрдЪрд╛ рдХреНрд░рдо рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдРрд╡рдЬреА, рдЖрдореНрд╣реА "рдЬрдЧрд╛рдЪреА рд░рдЪрдирд╛" (YAML рдордзреНрдпреЗ) рд╡рд░реНрдгрди рдХрд░рддреЛ, рдЬреА рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдиреЗ рддрдпрд╛рд░ рдХреЗрд▓реА рдЖрд╣реЗ. рдЖрдгрд┐ рдкреБрдиреНрд╣рд╛: рдЬреЗрд╡реНрд╣рд╛ рд╡рд░реНрдгрди рдмрджрд▓рддреЗ, рддреЗрд╡реНрд╣рд╛ рддреНрдпрд╛рдЪреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рджрд░реНрд╢рди рджреЗрдЦреАрд▓ рдмрджрд▓реЗрд▓.

рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди

рд╕реАрдкреАрдпреВ

рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ nginx, php-fpm рдЖрдгрд┐ mysql рдЪрд╛рд▓рд╡реВ. рдпрд╛ рд╕реЗрд╡рд╛рдВрдордзреНрдпреЗ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рдЖрдгрдЦреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪрд╛рд▓реВ рдЕрд╕рддреАрд▓, рдЬреНрдпрд╛рдкреИрдХреА рдкреНрд░рддреНрдпреЗрдХрд╛рд╕рд╛рдареА рд╕рдВрдЧрдгрдХреАрдп рд╕рдВрд╕рд╛рдзрдиреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗрдд:

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)
(рд╕реНрд▓рд╛рдЗрдбрд╡рд░реАрд▓ рд╕рдВрдЦреНрдпрд╛ "рдкреЛрдкрдЯ" рдЖрд╣реЗрдд, рд╕рдВрдЧрдгрдХреАрдп рд╢рдХреНрддреАрд╕рд╛рдареА рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреА рдЕрдореВрд░реНрдд рдЧрд░рдЬ)

рдпрд╛рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреЗ рд╕реЛрдкреЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЧрдЯрд╛рдВрдордзреНрдпреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХрддреНрд░ рдХрд░рдгреЗ рддрд░реНрдХрд╕рдВрдЧрдд рдЖрд╣реЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕рд░реНрд╡ nginx рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХрд╛ рдЧрдЯрд╛рдд тАЬnginxтАЭ). рд╣реЗ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдПрдХ рд╕реЛрдкрд╛ рдЖрдгрд┐ рд╕реНрдкрд╖реНрдЯ рдорд╛рд░реНрдЧ рдореНрд╣рдгрдЬреЗ рдкреНрд░рддреНрдпреЗрдХ рдЧрдЯрд╛рд▓рд╛ рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рдареЗрд╡рдгреЗ:

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)

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

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)

рдЕрд╣рд╡рд╛рд▓рд╛рдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд, рдЖрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд рд╕реНрд╡рд╛рд░рд╕реНрдп рдЖрд╣реЗ cgroups, рдХрд╛рд░рдг рдирд┐рдпрдВрддреНрд░рдг рдЧрдЯ рд╣реЗ рдХрдВрдЯреЗрдирд░ (рдбреЙрдХрд░ рдЗ.) рдЪреНрдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдЪрд╛ рднрд╛рдЧ рдЖрд╣реЗрдд рдЬреЗ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рд▓рд╛рдЧреВ рдХрд░рддрд╛рдд. рдЧрдЯрд╛рдВрдордзреНрдпреЗ рдПрдХрддреНрд░рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛, рдЬрд╕реЗ рдЖрдореНрд╣рд╛рд▓рд╛ рд╣рд╡реЗ рд╣реЛрддреЗ, рддреЗ рдирд┐рдпрдВрддреНрд░рдг рдЧрдЯ рдЖрд╣реЗрдд.

рдЪрд▓рд╛ рдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕рд╛рдареА рдЖрдгрд┐ рдЖрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрдЪреНрдпрд╛ рдЧрдЯрд╛рдВрд╕рд╛рдареА CPU рдЖрд╡рд╢реНрдпрдХрддрд╛рдВрдХрдбреЗ рдкрд░рдд рдЬрд╛рдКрдпрд╛:

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)
(рдореА рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдХрд░рддреЛ рдХреА рд╕рд░реНрд╡ рд╕рдВрдЦреНрдпрд╛ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреНрдпрд╛ рдЧрд░рдЬреЗрдЪреА рдЕрдореВрд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддреА рдЖрд╣реЗрдд)

рддреНрдпрд╛рдЪ рд╡реЗрд│реА, CPU рдордзреНрдпреЗ рд╕реНрд╡рддрдГ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд░реНрдпрд╛рджрд┐рдд рд╕рдВрд╕рд╛рдзрди рдЖрд╣реЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде рд╣реЗ 1000 рдЖрд╣реЗ), рдЬреНрдпрд╛рдЪреА рдкреНрд░рддреНрдпреЗрдХрд╛рдХрдбреЗ рдХрдорддрд░рддрд╛ рдЕрд╕реВ рд╢рдХрддреЗ (рд╕рд░реНрд╡ рдЧрдЯрд╛рдВрдЪреНрдпрд╛ рдЧрд░рдЬрд╛рдВрдЪреА рдмреЗрд░реАрдЬ 150+850+460=1460 рдЖрд╣реЗ). рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд рдХрд╛рдп рд╣реЛрдИрд▓?

рдХрд░реНрдирд▓ рд╕рдВрд╕рд╛рдзрдиреЗ рд╡рд┐рддрд░реАрдд рдХрд░рдгреНрдпрд╛рд╕ рд╕реБрд░рд╡рд╛рдд рдХрд░рддреЛ рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЧрдЯрд╛рд▓рд╛ рд╕рдорд╛рди рдкреНрд░рдорд╛рдгрд╛рдд рд╕рдВрд╕рд╛рдзрдиреЗ рджреЗрдКрди рддреЗ "рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛" рдХрд░рддреЛ. рдкрд░рдВрддреБ рдкрд╣рд┐рд▓реНрдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рддреНрдпрд╛рдкреИрдХреА рдЖрд╡рд╢реНрдпрдХрддреЗрдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдЖрд╣реЗрдд (333>150), рддреНрдпрд╛рдореБрд│реЗ рдЬрд╛рджрд╛ (333-150=183) рд░рд╛рдЦреАрд╡ рд░рд╛рд╣рддреЛ, рдЬреЗ рдЗрддрд░ рджреЛрди рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рд╕рдорд╛рди рдкреНрд░рдорд╛рдгрд╛рдд рд╡рд┐рддрд░реАрдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ:

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)

рдкрд░рд┐рдгрд╛рдореА: рдкрд╣рд┐рд▓реНрдпрд╛ рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рдкреБрд░реЗрд╢реА рд╕рдВрд╕рд╛рдзрдиреЗ рд╣реЛрддреА, рджреБрд╕рд▒реНрдпрд╛рдордзреНрдпреЗ - рддреНрдпрд╛рдЪреНрдпрд╛рдХрдбреЗ рдкреБрд░реЗрд╢реА рд╕рдВрд╕рд╛рдзрдиреЗ рдирд╛рд╣реАрдд, рддрд┐рд╕рд░реЗ - рддреНрдпрд╛рдд рдкреБрд░реЗрд╕реЗ рд╕рдВрд╕рд╛рдзрдиреЗ рдирд╛рд╣реАрдд. рд╣реЗ рдХреГрддреАрдВрдЪреЗ рдкрд░рд┐рдгрд╛рдо рдЖрд╣реЗ рд▓рд┐рдирдХреНрд╕ рдордзреНрдпреЗ "рдкреНрд░рд╛рдорд╛рдгрд┐рдХ" рд╢реЗрдбреНрдпреБрд▓рд░ - CFS. рддреНрдпрд╛рдЪреЗ рдСрдкрд░реЗрд╢рди рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рд╡рд╛рдкрд░реВрди рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рд╡рдЬрди рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдЯреЗрдирд░. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдпрд╛рд╕рд╛рд░рдЦреЗ:

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)

рджреБрд╕рд▒реНрдпрд╛ рдХрдВрдЯреЗрдирд░ (php-fpm) рдордзреНрдпреЗ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреНрдпрд╛ рдХрдорддрд░рддреЗрдЪреЗ рдкреНрд░рдХрд░рдг рдкрд╛рд╣реВ. рд╕рд░реНрд╡ рдХрдВрдЯреЗрдирд░ рд╕рдВрд╕рд╛рдзрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрдордзреНрдпреЗ рд╕рдорд╛рди рдкреНрд░рдорд╛рдгрд╛рдд рд╡рд┐рддрд░реАрдд рдХреЗрд▓реА рдЬрд╛рддрд╛рдд. рдкрд░рд┐рдгрд╛рдореА, рдорд╛рд╕реНрдЯрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪрд╛рдВрдЧрд▓реА рдХрд╛рд░реНрдп рдХрд░рддреЗ, рдкрд░рдВрддреБ рд╕рд░реНрд╡ рдХрд╛рдордЧрд╛рд░ рдзреАрдореЗ рд╣реЛрддрд╛рдд, рддреНрдпрд╛рдВрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдирд┐рдореНрдореНрдпрд╛рд╣реВрди рдХрдореА рдорд┐рд│рддрд╛рдд:

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)

рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ CFS рд╢реЗрдбреНрдпреБрд▓рд░ рдХрд╛рд░реНрдп рдХрд░рддреЗ. рдЖрдореНрд╣реА рдХрдВрдЯреЗрдирд░рд▓рд╛ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рдЬрдирд╛рдВрдирд╛ рдкреБрдвреЗ рдХреЙрд▓ рдХрд░реВ рд╡рд┐рдирдВрддреНрдпрд╛. рд╣реЗ рдЕрд╕реЗ рдХрд╛ рдЖрд╣реЗ - рдкреБрдвреЗ рдкрд╣рд╛.

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

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)

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

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)

рдЪрд▓рд╛ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓ рдЖрдгрд┐ CPU рд╕рд╣ рддреНрдпрд╛рдЪреНрдпрд╛ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджрд╛рдХрдбреЗ рдкрд░рдд рдпреЗрдК - рдПрдХреВрдг рдЪрд┐рддреНрд░ рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рдЖрд╣реЗ:

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)

cgroup рдордзреНрдпреЗ рджреЛрди рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдЖрд╣реЗрдд - рдореВрд▓рдд: рд╣реЗ рджреЛрди рд╕рд╛рдзреЗ "рдЯреНрд╡рд┐рд╕реНрдЯ" рдЖрд╣реЗрдд рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реВ рджреЗрддрд╛рдд:

  1. рдХрдВрдЯреЗрдирд░рдЪреЗ рд╡рдЬрди (рд╡рд┐рдирдВрддреА) рдЖрд╣реЗ рд╢реЗрдЕрд░реНрд╕;
  2. рдХрдВрдЯреЗрдирд░ рдЯрд╛рд╕реНрдХрд╡рд░ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХреВрдг CPU рд╡реЗрд│реЗрдЪреА рдЯрдХреНрдХреЗрд╡рд╛рд░реА (рдорд░реНрдпрд╛рджрд╛) рдЖрд╣реЗ рдХреЛрдЯрд╛.

CPU рдХрд╕реЗ рдореЛрдЬрд╛рдпрдЪреЗ?

рд╡реЗрдЧрд╡реЗрдЧрд│реЗ рдорд╛рд░реНрдЧ рдЖрд╣реЗрдд:

  1. рдХрд╛рдп рдкреЛрдкрдЯ, рдХреЛрдгрд╛рд▓рд╛рд╣реА рдорд╛рд╣рд┐рдд рдирд╛рд╣реА - рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрд│реА рд╡рд╛рдЯрд╛рдШрд╛рдЯреА рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
  2. рд╡реНрдпрд╛рдЬ рд╕реНрдкрд╖реНрдЯ, рдкрд░рдВрддреБ рд╕рд╛рдкреЗрдХреНрд╖: 50 рдХреЛрд░ рдЖрдгрд┐ 4 рдХреЛрд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рдЪреНрдпрд╛ 20% рдкреВрд░реНрдгрдкрдгреЗ рднрд┐рдиреНрди рдЧреЛрд╖реНрдЯреА рдЖрд╣реЗрдд.
  3. рдЖрдкрдг рдЖрдзреАрдЪ рдирдореВрдж рдХреЗрд▓реЗрд▓реЗ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ рд╡рдЬрди, рдЬреЗ Linux рд▓рд╛ рдорд╛рд╣рд┐рдд рдЖрд╣реЗ, рдкрд░рдВрддреБ рддреЗ рджреЗрдЦреАрд▓ рд╕рд╛рдкреЗрдХреНрд╖ рдЖрд╣реЗрдд.
  4. рдордзреНрдпреЗ рд╕рдВрдЧрдгрдХреАрдп рд╕рдВрд╕рд╛рдзрдиреЗ рдореЛрдЬрдгреЗ рд╣рд╛ рд╕рд░реНрд╡рд╛рдд рдпреЛрдЧреНрдп рдкрд░реНрдпрд╛рдп рдЖрд╣реЗ рд╕реЗрдХрдВрдж. рддреНрдпрд╛. рд░рд┐рдЕрд▓ рдЯрд╛рдЗрдордЪреНрдпрд╛ рд╕реЗрдХрдВрджрд╛рдВрдЪреНрдпрд╛ рд╕рд╛рдкреЗрдХреНрд╖ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╡реЗрд│реЗрдЪреНрдпрд╛ рд╕реЗрдХрдВрджрд╛рдВрдордзреНрдпреЗ: рдкреНрд░реЛрд╕реЗрд╕рд░ рд╡реЗрд│реЗрдЪрд╛ 1 рд╕реЗрдХрдВрдж рдкреНрд░рддрд┐ 1 рд░рд┐рдЕрд▓ рд╕реЗрдХрдВрдж рджрд┐рд▓рд╛ рдЧреЗрд▓рд╛ - рд╣рд╛ рдПрдХ рд╕рдВрдкреВрд░реНрдг CPU рдХреЛрд░ рдЖрд╣реЗ.

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

3 CPU рдХреЛрд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рд╕рд╣ рдПрдХ рд╕рд╛рдзреЗ рдЙрджрд╛рд╣рд░рдг рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрдК рдпрд╛, рдЬреЗрдереЗ рддреАрди рдкреЙрдбреНрд╕рдирд╛ рд╡рдЬрди (500, 1000 рдЖрдгрд┐ 1500) рджрд┐рд▓реЗ рдЬрд╛рдИрд▓ рдЬреЗ рддреНрдпрд╛рдВрдирд╛ рд╡рд╛рдЯрдк рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХреЛрд░рдЪреНрдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рднрд╛рдЧрд╛рдВрдордзреНрдпреЗ (0,5, 1 рдЖрдгрд┐ 1,5) рд╕рд╣рдЬрдкрдгреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓.

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)

рддреБрдореНрд╣реА рджреБрд╕рд░рд╛ рд╕рд░реНрд╡реНрд╣рд░ рдШреЗрддрд▓реНрдпрд╛рд╕, рдЬреЗрдереЗ рджреБрдкреНрдкрдЯ рдХреЛрд░ (6) рдЕрд╕рддреАрд▓ рдЖрдгрд┐ рддреНрдпрд╛рдЪ рдкреЙрдбреНрд╕ рддреЗрдереЗ рдареЗрд╡рд▓реНрдпрд╛рд╕, рдХреЛрд░рдЪреЗ рд╡рд┐рддрд░рдг рдлрдХреНрдд 2 (рдЕрдиреБрдХреНрд░рдореЗ 1, 2 рдЖрдгрд┐ 3) рдиреЗ рдЧреБрдгрд╛рдХрд╛рд░ рдХрд░реВрди рд╕рд╣рдЬ рдХрд╛рдврддрд╛ рдпреЗрдИрд▓. рдкрд░рдВрддреБ рдПрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рдХреНрд╖рдг рдпреЗрддреЛ рдЬреЗрд╡реНрд╣рд╛ рдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдЪреМрдерд╛ рдкреЙрдб рджрд┐рд╕реВрди рдпреЗрддреЛ, рдЬреНрдпрд╛рдЪреЗ рд╡рдЬрди, рд╕реЛрдпреАрд╕рд╛рдареА, 3000 рдЕрд╕реЗрд▓. рддреЗ CPU рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪрд╛ рдХрд╛рд╣реА рднрд╛рдЧ (рдЕрд░реНрдзрд╛ рдХреЛрд░) рдХрд╛рдвреВрди рдШреЗрддреЗ рдЖрдгрд┐ рдЙрд░реНрд╡рд░рд┐рдд рдкреЙрдбрд╕рд╛рдареА рддреЗ рдкреБрдиреНрд╣рд╛ рдореЛрдЬрд▓реЗ рдЬрд╛рддрд╛рдд (рдЕрд░реНрдзреЗ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд):

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)

Kubernetes рдЖрдгрд┐ CPU рд╕рдВрд╕рд╛рдзрдиреЗ

Kubernetes рдордзреНрдпреЗ, CPU рд╕рдВрд╕рд╛рдзрдиреЗ рд╕рд╣рд╕рд╛ рдореЛрдЬрд▓реА рдЬрд╛рддрд╛рдд рдорд┐рд▓рд┐рдпрд╛рдбреНрд░реЕрдХреНрд╕, рдореНрд╣рдгрдЬреЗ 0,001 рдХреЛрд░ рд╣реЗ рдореВрд│ рд╡рдЬрди рдореНрд╣рдгреВрди рдШреЗрддрд▓реЗ рдЬрд╛рддрд╛рдд. (Linux/cgroups рдЪреНрдпрд╛ рд╢рдмреНрджрд╛рд╡рд▓реАрдд рдпрд╛рдЪ рдЧреЛрд╖реНрдЯреАрд▓рд╛ CPU рд╢реЗрдЕрд░ рдореНрд╣рдгрддрд╛рдд, рдЬрд░реА рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ, 1000 millicores = 1024 CPU рд╢реЗрдЕрд░реНрд╕.) K8s рд╕рд░реНрд╡ рдкреЙрдбреНрд╕рдЪреНрдпрд╛ рд╡рдЬрдирд╛рдЪреНрдпрд╛ рдмреЗрд░реАрдЬрд╕рд╛рдареА CPU рд╕рдВрд╕рд╛рдзрдирд╛рдВрдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдкреЙрдб рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдареЗрд╡рдд рдирд╛рд╣реА рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рддреЗ.

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

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

рдкреЙрдбрд╕рд╛рдареА рддреБрдореНрд╣реА рджреЛрдиреНрд╣реА рд╡рд┐рдирдВрддреНрдпрд╛ (CFS рд╢реЗрдбреНрдпреБрд▓рд░) рдЖрдгрд┐ рдорд░реНрдпрд╛рджрд╛ (рдЯреНрд░реЕрдлрд┐рдХ рд▓рд╛рдЗрдЯ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛?) рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВ рд╢рдХрддрд╛:

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

рд╕реНрдореГрддреА

рд╕реНрдореГрддреАрд╕рд╣, рдкрд░рд┐рд╕реНрдерд┐рддреА рд╕рдорд╛рди рдЖрд╣реЗ, рдкрд░рдВрддреБ рдереЛрдбреА рд╡реЗрдЧрд│реА рдЖрд╣реЗ - рд╕рд░реНрд╡ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рдпрд╛ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреЗ рд╕реНрд╡рд░реВрдк рднрд┐рдиреНрди рдЖрд╣реЗ. рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рд╕рдорд╛рдирддрд╛ рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рдЖрд╣реЗ:

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)

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

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)

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

рдЪрд▓рд╛ CPU рдЪреНрдпрд╛ QoS рд╡рд░реНрдЧрд╛рдВрдХрдбреЗ рдкрд░рдд рдЬрд╛рдКрдпрд╛ рдЖрдгрд┐ oom_score_adj рдореВрд▓реНрдпрд╛рдВрд╢реА рд╕рд╛рдзрд░реНрдореНрдп рдХрд╛рдвреВ рдЬреЗ рдкреЙрдбреНрд╕рд╕рд╛рдареА рдореЗрдорд░реА рд╡рд╛рдкрд░рд╛рдЪреЗ рдкреНрд░рд╛рдзрд╛рдиреНрдпрдХреНрд░рдо рдард░рд╡рддрд╛рдд:

  • рдкреЙрдбрд╕рд╛рдареА рд╕рд░реНрд╡рд╛рдд рдХрдореА oom_score_adj рдореВрд▓реНрдп - -998 - рдореНрд╣рдгрдЬреЗ рдЕрд╕рд╛ рдкреЙрдб рд╢реЗрд╡рдЯрдЪрд╛ рдорд╛рд░рд▓рд╛ рдЧреЗрд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ, рд╣реЗ рд╣рдореА.
  • рд╕рд░реНрд╡реЛрдЪреНрдЪ - 1000 - рдЖрд╣реЗ рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдпрддреНрдирдЕрд╢рд╛ рд╢реЗрдВрдЧрд╛ рдкреНрд░рдердо рдорд╛рд░рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд.
  • рдЙрд░реНрд╡рд░рд┐рдд рдореВрд▓реНрдпрд╛рдВрдЪреА рдЧрдгрдирд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА (рдлреБрдЯрдгреНрдпрд╛рдпреЛрдЧреНрдп) рдПрдХ рд╕реВрддреНрд░ рдЖрд╣реЗ, рдЬреНрдпрд╛рдЪреЗ рд╕рд╛рд░ рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрд╡рд░ рдЙрдХрд│рддреЗ рдХреА рдкреЙрдбрдиреЗ рдЬрд┐рддрдХреНрдпрд╛ рдЕрдзрд┐рдХ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреА рд╡рд┐рдирдВрддреА рдХреЗрд▓реА рдЖрд╣реЗ рддрд┐рддрдХреА рддреА рдорд╛рд░рд▓реА рдЬрд╛рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдХрдореА рдЖрд╣реЗ.

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)

рджреБрд╕рд░рд╛ "рдЯреНрд╡рд┐рд╕реНрдЯ" - limit_in_bytes - рдорд░реНрдпрд╛рджреЗрд╕рд╛рдареА. рддреНрдпрд╛рд╕рд╣, рд╕рд░реНрд╡рдХрд╛рд╣реА рд╕реЛрдкреЗ рдЖрд╣реЗ: рдЖрдореНрд╣реА рдЬрд╛рд░реА рдХреЗрд▓реЗрд▓реНрдпрд╛ рдореЗрдорд░реАрдЪреА рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рд░рдХреНрдХрдо рдирд┐рдпреБрдХреНрдд рдХрд░рддреЛ рдЖрдгрд┐ рдпреЗрдереЗ (рд╕реАрдкреАрдпреВрдЪреНрдпрд╛ рд╡рд┐рдкрд░реАрдд) рддреЗ (рдореЗрдорд░реА) рдХрд╕реЗ рдореЛрдЬрд╛рдпрдЪреЗ рдпрд╛рдЪрд╛ рдкреНрд░рд╢реНрди рдирд╛рд╣реА.

рдПрдХреВрдг

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреАрд▓ рдкреНрд░рддреНрдпреЗрдХ рдкреЙрдб рджрд┐рд▓реЗрд▓рд╛ рдЖрд╣реЗ requests ╨╕ limits - CPU рдЖрдгрд┐ рдореЗрдорд░реА рджреЛрдиреНрд╣реА рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕:

  1. рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЖрдзрд╛рд░рд╛рд╡рд░, рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╢реЗрдбреНрдпреВрд▓рд░ рдХрд╛рд░реНрдп рдХрд░рддреЗ, рдЬреЗ рд╕рд░реНрд╡реНрд╣рд░рдордзреНрдпреЗ рдкреЙрдбреНрд╕ рд╡рд┐рддрд░реАрдд рдХрд░рддреЗ;
  2. рд╕рд░реНрд╡ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╡рд░ рдЖрдзрд╛рд░рд┐рдд, рдкреЙрдбрдЪрд╛ QoS рд╡рд░реНрдЧ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ;
  3. CPU рд╡рд┐рдирдВрддреНрдпрд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╕рд╛рдкреЗрдХреНрд╖ рд╡рдЬрдирд╛рдВрдЪреА рдЧрдгрдирд╛ рдХреЗрд▓реА рдЬрд╛рддреЗ;
  4. CFS рд╢реЗрдбреНрдпреБрд▓рд░ CPU рд╡рд┐рдирдВрддреНрдпрд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЖрд╣реЗ;
  5. OOM рдХрд┐рд▓рд░ рдореЗрдорд░реА рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЖрдзрд╛рд░реЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЖрд╣реЗ;
  6. рд╕реАрдкреАрдпреВ рдорд░реНрдпрд╛рджреЗрд╡рд░ рдЖрдзрд╛рд░рд┐рдд "рдЯреНрд░реЕрдлрд┐рдХ рд▓рд╛рдЗрдЯ" рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЖрд╣реЗ;
  7. рдореЗрдорд░реА рдорд░реНрдпрд╛рджрд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд, cgroup рд╕рд╛рдареА рдорд░реНрдпрд╛рджрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реА рдЖрд╣реЗ.

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)

рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рд╣реЗ рдЪрд┐рддреНрд░ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдХрд╕реЗ рд╣реЛрддреЗ рдпрд╛рд╡рд┐рд╖рдпреА рд╕рд░реНрд╡ рдкреНрд░рд╢реНрдирд╛рдВрдЪреА рдЙрддреНрддрд░реЗ рджреЗрддреЗ.

рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ

K8s рдХреНрд▓рд╕реНрдЯрд░-рдСрдЯреЛрд╕реНрдХреЗрд▓рд░

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

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)

рд╣реЗ Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдЪреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрд╣реЗ, рдЬреЗ рдЙрддреНрддрдо рдХрд╛рдо рдХрд░рддреЗ (рдЖрдордЪреНрдпрд╛ рдЕрдиреБрднрд╡рд╛рдд). рддрдерд╛рдкрд┐, рдЗрддрд░рддреНрд░ рдкреНрд░рдорд╛рдгреЗ, рдпреЗрдереЗ рдХрд╛рд╣реА рдмрд╛рд░рдХрд╛рд╡реЗ рдЖрд╣реЗрдд...

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

рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ 3 рд╕рд░реНрд╡реНрд╣рд░рдЪреНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рд╛. рдпрд╛рдд 6 рд╢реЗрдВрдЧрд╛ рдЖрд╣реЗрдд: рдЖрддрд╛ рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрд╡реНрд╣рд░рд╕рд╛рдареА 2 рдЖрд╣реЗрдд. рдХрд╛рд╣реА рдХрд╛рд░рдгрд╛рд╕реНрддрд╡ рдЖрдореНрд╣рд╛рд▓рд╛ рдПрдХ рд╕рд░реНрд╡реНрд╣рд░ рдмрдВрдж рдХрд░рд╛рдпрдЪрд╛ рд╣реЛрддрд╛. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдкрдг рдХрдорд╛рдВрдб рд╡рд╛рдкрд░реВ kubectl drain, рдЬреЗ:

  • рдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдирд╡реАрди рдкреЙрдб рдкрд╛рдард╡рд┐рдгреНрдпрд╛рд╕ рдордирд╛рдИ рдХрд░реЗрд▓;
  • рд╕рд░реНрд╡реНрд╣рд░рд╡рд░реАрд▓ рд╡рд┐рджреНрдпрдорд╛рди рдкреЙрдб рд╣рдЯрд╡реЗрд▓.

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

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)

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

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)

MongoDB рдХрд░реВ рд╢рдХрд▓реЛ die рдХрд╛рд░рдг рддреНрдпрд╛рд▓рд╛ рдХреЛрд░рдордЪреА рдЧрд░рдЬ рдЖрд╣реЗ: рддреАрди рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рдиреНрд╕рдЪреНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░рд╕рд╛рдареА, рдХрд┐рдорд╛рди рджреЛрди рдХрд╛рд░реНрдп рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рддрдерд╛рдкрд┐, рд╣реЗ рд╣реЛрдд рдирд╛рд╣реА - рдирд╛ рдзрдиреНрдпрд╡рд╛рдж PodDisruptionBudget. рд╣реЗ рдкреЕрд░рд╛рдореАрдЯрд░ рдХрд╛рд░реНрдпрд░рдд рд╢реЗрдВрдЧрд╛рдВрдЪреА рдХрд┐рдорд╛рди рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ. рдореЛрдВрдЧреЛрдбреАрдмреА рдкреЙрдбреНрд╕рдкреИрдХреА рдПрдХ рдпрд╛рдкреБрдвреЗ рдХрд╛рдо рдХрд░рдд рдирд╛рд╣реА рд╣реЗ рдЬрд╛рдгреВрди рдШреЗрдгреЗ рдЖрдгрд┐ рдореЛрдВрдЧреЛрдбреАрдмреАрд╕рд╛рдареА PodDisruptionBudget рд╕реЗрдЯ рдХреЗрд▓реЗрд▓реЗ рдкрд╛рд╣реВрди minAvailable: 2, Kubernetes рддреБрдореНрд╣рд╛рд▓рд╛ рдкреЙрдб рд╣рдЯрд╡рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрдгрд╛рд░ рдирд╛рд╣реА.

рддрд│ рдУрд│: рдХреНрд▓рд╕реНрдЯрд░ рд░рд┐рд▓реАрдЬ рдЭрд╛рд▓реНрдпрд╛рд╡рд░ рдкреЙрдбреНрд╕рдЪреА рд╣рд╛рд▓рдЪрд╛рд▓ (рдЖрдгрд┐ рдЦрд░рдВ рддрд░, рдкреБрдирд░реНрдирд┐рд░реНрдорд┐рддреА) рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, PodDisruptionBudget рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреЗрд▓рд┐рдВрдЧ

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

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

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)

рдпреЗрдереЗ рдореБрдЦреНрдп рдкреНрд░рд╢реНрди рдЖрд╣реЗрдд: рдирдХреНрдХреА рдХрд╛рдп рдореЛрдЬрд╛рдпрдЪреЗ ╨╕ рдХрд╕реЗ рдЕрд░реНрде рд▓рд╛рд╡рд╛рдпрдЪреЗ рдкреНрд░рд╛рдкреНрдд рдореВрд▓реНрдпреЗ (рд╢реЗрдВрдЧрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рдмрджрд▓рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА). рдЖрдкрдг рдмрд░реЗрдЪ рдореЛрдЬреВ рд╢рдХрддрд╛:

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)

рд╣реЗ рддрд╛рдВрддреНрд░рд┐рдХрджреГрд╖реНрдЯреНрдпрд╛ рдХрд╕реЗ рдХрд░рд╛рдпрдЪреЗ - рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдЗ. рдЧреЛрд│рд╛ рдХрд░рд╛. тАФ рдореА рдЕрд╣рд╡рд╛рд▓рд╛рдд рддрдкрд╢реАрд▓рд╡рд╛рд░ рдмреЛрд▓рд▓реЛ рджреЗрдЦрд░реЗрдЦ рдЖрдгрд┐ Kubernetes. рдЖрдгрд┐ рдЗрд╖реНрдЯрддрдо рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдирд┐рд╡рдбрдгреНрдпрд╛рд╕рд╛рдареА рдореБрдЦреНрдп рд╕рд▓реНрд▓рд╛ рдЖрд╣реЗ рдкреНрд░рдпреЛрдЧ!

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

рддреНрдпрд╛рдРрд╡рдЬреА рдПрдХ рдирд┐рд╖реНрдХрд░реНрд╖

рдЕрд╣рд╡рд╛рд▓рд╛рдд рдПрдХ рдирд┐рд░рдВрддрд░рддрд╛ рдЖрд╣реЗ: рдЕрдиреБрд▓рдВрдм рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рдпреЛрдЧреНрдп рд╕рдВрд╕рд╛рдзрдиреЗ рдХрд╢реА рдирд┐рд╡рдбрд╛рд╡реА рдпрд╛рдмрджреНрджрд▓. рдореА рднрд╡рд┐рд╖реНрдпрд╛рддреАрд▓ рд╡реНрд╣рд┐рдбрд┐рдУрдВрдордзреНрдпреЗ рдпрд╛рдмрджреНрджрд▓ рдмреЛрд▓реЗрди рдЖрдордЪреЗ YouTube - рд╕рджрд╕реНрдпрддрд╛ рдШреНрдпрд╛ рдЬреЗрдгреЗрдХрд░реВрди рддреБрдореНрд╣реА рдЪреБрдХрдгрд╛рд░ рдирд╛рд╣реА!

рд╡реНрд╣рд┐рдбрд┐рдУ рдЖрдгрд┐ рд╕реНрд▓рд╛рдЗрдбреНрд╕

рдХрд╛рдордЧрд┐рд░реАрдордзреАрд▓ рд╡реНрд╣рд┐рдбрд┐рдУ (44 рдорд┐рдирд┐рдЯреЗ):

рдЕрд╣рд╡рд╛рд▓рд╛рдЪреЗ рд╕рд╛рджрд░реАрдХрд░рдг:

PS

рдЖрдордЪреНрдпрд╛ рдмреНрд▓реЙрдЧрд╡рд░ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдмрджреНрджрд▓ рдЗрддрд░ рдЕрд╣рд╡рд╛рд▓:

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

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