рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдЫрд┐рджреНрд░реЗ рдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреЗ. DevOpsConf рдХрдбреВрди рдЕрд╣рд╡рд╛рд▓ рдЖрдгрд┐ рдЙрддрд╛рд░рд╛

Pavel Selivanov, Southbridge Solutions рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ рдЖрдгрд┐ Slurm рд╢рд┐рдХреНрд╖рдХ, рдпрд╛рдВрдиреА DevOpsConf 2019 рдордзреНрдпреЗ рдПрдХ рд╕рд╛рджрд░реАрдХрд░рдг рджрд┐рд▓реЗ. рд╣реЗ рдЪрд░реНрдЪрд╛ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ тАЬрд╕реНрд▓рд░реНрдо рдореЗрдЧрд╛тАЭ рд╡рд░реАрд▓ рд╕рдЦреЛрд▓ рдЕрднреНрдпрд╛рд╕рдХреНрд░рдорд╛рдЪреНрдпрд╛ рд╡рд┐рд╖рдпрд╛рдВрдкреИрдХреА рдПрдХ рднрд╛рдЧ рдЖрд╣реЗ.

рд╕реНрд▓рд░реНрдо рдмреЗрд╕рд┐рдХ: рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдЪрд╛ рдкрд░рд┐рдЪрдп 18-20 рдиреЛрд╡реНрд╣реЗрдВрдмрд░ рд░реЛрдЬреА рдореЙрд╕реНрдХреЛ рдпреЗрдереЗ рд╣реЛрдд рдЖрд╣реЗ.
рд╕реНрд▓рд░реНрдо рдореЗрдЧрд╛: рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдЪреНрдпрд╛ рд╣реБрдб рдЕрдВрддрд░реНрдЧрдд рдкрд╣рд╛рдд рдЖрд╣реЗ - рдореЙрд╕реНрдХреЛ, рдиреЛрд╡реНрд╣реЗрдВрдмрд░ 22-24.
рд╕реНрд▓рд░реНрдо рдСрдирд▓рд╛рдЗрди: рджреЛрдиреНрд╣реА рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдЕрднреНрдпрд╛рд╕рдХреНрд░рдо рдиреЗрд╣рдореА рдЙрдкрд▓рдмреНрдз.

рдХрдЯ рдЦрд╛рд▓реА рдЕрд╣рд╡рд╛рд▓рд╛рдЪрд╛ рдЙрддрд╛рд░рд╛ рдЖрд╣реЗ.

рд╢реБрдн рджреБрдкрд╛рд░, рд╕рд╣рдХрд╛рд░реА рдЖрдгрд┐ рдЬреЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛рдмрджреНрджрд▓ рд╕рд╣рд╛рдиреБрднреВрддреА рджрд╛рдЦрд╡рддрд╛рдд. рдЖрдЬ рдореА рд╕реБрд░рдХреНрд╖рд┐рддрддреЗрдмрджреНрджрд▓ рдмреЛрд▓рдгрд╛рд░ рдЖрд╣реЗ.

рдореА рдкрд╛рд╣рддреЛ рдХреА рдЖрдЬ рд╕рднрд╛рдЧреГрд╣рд╛рдд рдЕрдиреЗрдХ рд╕реБрд░рдХреНрд╖рд╛ рд░рдХреНрд╖рдХ рдЖрд╣реЗрдд. рдЬрд░ рдореА рд╕реБрд░рдХреНрд╖рд┐рддрддреЗрдЪреНрдпрд╛ рдЬрдЧрд╛рдордзреАрд▓ рдЕрдЯреА рддреБрдордЪреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рдереЗрдкреНрд░рдорд╛рдгреЗ рдирд╕рддреАрд▓ рддрд░ рдореА рддреБрдордЪреА рдЖрдЧрд╛рдК рдорд╛рдлреА рдорд╛рдЧрддреЛ.

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

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

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

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

рдореА рд╣реЗ рдХрд╕реЗ рдХреЗрд▓реЗ рдЖрдгрд┐ рдпрд╛рдкрд╛рд╕реВрди рд╕реНрд╡рддрдГрдЪреЗ рд╕рдВрд░рдХреНрд╖рдг рдХрд╕реЗ рдХрд░рд╛рд╡реЗ рд╣реЗ рдореА рдЙрджрд╛рд╣рд░рдгрд╛рдВрд╕рд╣ рд╕рд╛рдВрдЧреЗрди.

рдкрдг рдЖрдзреА рдореА рдорд╛рдЭреА рдУрд│рдЦ рдХрд░реВрди рджреЗрддреЛ. рдорд╛рдЭреЗ рдирд╛рд╡ рдкрд╛рд╡реЗрд▓ рд╕реЗрд▓рд┐рд╡рд╛рдиреЛрд╡ рдЖрд╣реЗ. рдореА рд╕рд╛рдЙрдердмреНрд░рд┐рдЬ рдпреЗрдереЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ рдЖрд╣реЗ. рдорд▓рд╛ Kubernetes, DevOps рдЖрдгрд┐ рд╕рд░реНрд╡ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рдлреЕрдиреНрд╕реА рдЧреЛрд╖реНрдЯреА рд╕рдордЬрддрд╛рдд. рд╕рд╛рдКрдердмреНрд░рд┐рдЬрдЪреЗ рдЕрднрд┐рдпрдВрддреЗ рдЖрдгрд┐ рдореА рд╣реЗ рд╕рд░реНрд╡ рдмрд╛рдВрдзрдд рдЖрд╣реЛрдд рдЖрдгрд┐ рдореА рд╕рд▓реНрд▓рд╛ рдШреЗрдд рдЖрд╣реЗ.

рдЖрдордЪреНрдпрд╛ рдореБрдЦреНрдп рдЙрдкрдХреНрд░рдорд╛рдВрд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдЖрдореНрд╣реА рдЕрд▓реАрдХрдбреЗ рд╕реНрд▓рд░реНрдореНрд╕ рдирд╛рд╡рд╛рдЪреЗ рдкреНрд░рдХрд▓реНрдк рд╕реБрд░реВ рдХреЗрд▓реЗ рдЖрд╣реЗрдд. Kubernetes рд╕реЛрдмрдд рдХрд╛рдо рдХрд░рдгреНрдпрд╛рдЪреА рдЖрдордЪреА рдХреНрд╖рдорддрд╛ рд▓реЛрдХрд╛рдВрдкрд░реНрдпрдВрдд рдкреЛрд╣реЛрдЪрд╡рдгреНрдпрд╛рдЪрд╛, рдЗрддрд░ рд▓реЛрдХрд╛рдВрдирд╛ K8s рд╕реЛрдмрдд рдХрд╛рдо рдХрд░рд╛рдпрд▓рд╛ рд╢рд┐рдХрд╡рдгреНрдпрд╛рдЪрд╛ рдЖрдордЪрд╛ рдкреНрд░рдпрддреНрди рдЖрд╣реЗ.

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

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рдордзреАрд▓ рд╕реБрд░рдХреНрд╖рд┐рддрддреЗрдмрджреНрджрд▓ рдорд▓рд╛ рдЖрдгрд┐ рдорд╛рдЭреНрдпрд╛ рд╕рд╣рдХрд╛рд▒реНрдпрд╛рдВрдирд╛ рдХрд╛рдп рддреНрд░рд╛рд╕ рд╣реЛрддреЛ рдпрд╛рдмрджреНрджрд▓ рдореА рдмреЛрд▓реЗрди. Kubernetes рдХреНрд▓рд╕реНрдЯрд░ рдкреНрд░рджрд╛рди рдХрд░рдгрд╛рд▒реНрдпрд╛ рдкреНрд░рджрд╛рддреНрдпрд╛рдВрдордзреНрдпреЗ рдЖрдгрд┐ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдпреЗрдгрд╛рд▒реНрдпрд╛ рдЧреНрд░рд╛рд╣рдХрд╛рдВрдордзреНрдпреЗрд╣реА рдЖрдореНрд╣рд╛рд▓рд╛ рдпрд╛ рд╕рдорд╕реНрдпрд╛ рджрд┐рд╕рддрд╛рдд. рдЖрдгрд┐ рдЗрддрд░ рд╕рд▓реНрд▓рд╛рдЧрд╛рд░ рдкреНрд░рд╢рд╛рд╕рдХ рдХрдВрдкрдиреНрдпрд╛рдВрдордзреВрди рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдпреЗрдгрд╛рд▒реНрдпрд╛ рдЧреНрд░рд╛рд╣рдХрд╛рдВрдХрдбреВрдирд╣реА. рдореНрд╣рдгрдЬреЗрдЪ рд╢реЛрдХрд╛рдВрддрд┐рдХреЗрдЪреЗ рдкреНрд░рдорд╛рдг рдЦрд░реЗ рддрд░ рдЦреВрдк рдореЛрдареЗ рдЖрд╣реЗ.

рд╢рдмреНрджрд╢рдГ рддреАрди рдореБрджреНрджреЗ рдЖрд╣реЗрдд рдЬреНрдпрд╛рдмрджреНрджрд▓ рдореА рдЖрдЬ рдмреЛрд▓рдгрд╛рд░ рдЖрд╣реЗ:

  1. рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╣рдХреНрдХ рд╡рд┐ рдкреЙрдб рдЕрдзрд┐рдХрд╛рд░. рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╣рдХреНрдХ рдЖрдгрд┐ рдкреЙрдб рдЕрдзрд┐рдХрд╛рд░ рдПрдХрд╛рдЪ рдЧреЛрд╖реНрдЯреА рдирд╛рд╣реАрдд.
  2. рдХреНрд▓рд╕реНрдЯрд░рдЪреА рдорд╛рд╣рд┐рддреА рдЧреЛрд│рд╛ рдХрд░рдгреЗ. рдпрд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рд╡рд┐рд╢реЗрд╖ рдЕрдзрд┐рдХрд╛рд░ рдирд╕рддрд╛рдирд╛рд╣реА рддреБрдореНрд╣реА рдХреНрд▓рд╕реНрдЯрд░рдордзреВрди рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реА рд╕рд░реНрд╡ рдорд╛рд╣рд┐рддреА рдЧреЛрд│рд╛ рдХрд░реВ рд╢рдХрддрд╛ рд╣реЗ рдореА рджрд╛рдЦрд╡рддреЛ.
  3. рдХреНрд▓рд╕реНрдЯрд░рд╡рд░ DoS рд╣рд▓реНрд▓рд╛. рдЖрдореНрд╣реА рдорд╛рд╣рд┐рддреА рдЧреЛрд│рд╛ рдХрд░реВ рд╢рдХрдд рдирд╕рд▓реНрдпрд╛рд╕, рдЖрдореНрд╣реА рдХреЛрдгрддреНрдпрд╛рд╣реА рдкрд░рд┐рд╕реНрдерд┐рддреАрдд рдХреНрд▓рд╕реНрдЯрд░ рдареЗрд╡рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЖрд╣реЛрдд. рдореА рдХреНрд▓рд╕реНрдЯрд░ рдирд┐рдпрдВрддреНрд░рдг рдШрдЯрдХрд╛рдВрд╡рд░реАрд▓ DoS рд╣рд▓реНрд▓реНрдпрд╛рдВрдмрджреНрджрд▓ рдмреЛрд▓реЗрди.

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

рдЖрдореНрд╣реА Kubespray рд╡рд╛рдкрд░реВрди Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдЪреНрдпрд╛ рд╕реНрдерд╛рдкрдиреЗрдЪрд╛ рдЖрдзрд╛рд░ рдШреЗрддреЛ. рдЬрд░ рдХреЛрдгрд╛рд▓рд╛ рдорд╛рд╣рд┐рдд рдирд╕реЗрд▓ рддрд░, рд╣рд╛ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд Ansible рдЪреНрдпрд╛ рднреВрдорд┐рдХрд╛рдВрдЪрд╛ рд╕рдВрдЪ рдЖрд╣реЗ. рддреЗ рдЖрдкрдг рдЖрдкрд▓реНрдпрд╛ рдХрд╛рдорд╛рдд рд╕рддрдд рд╡рд╛рдкрд░рддреЛ. рдЪрд╛рдВрдЧрд▓реА рдЧреЛрд╖реНрдЯ рдЕрд╢реА рдЖрд╣реЗ рдХреА рддреБрдореНрд╣реА рддреЗ рдХреЛрдареЗрд╣реА рд░реЛрд▓ рдХрд░реВ рд╢рдХрддрд╛ - рддреБрдореНрд╣реА рддреЗ рд▓реЛрдЦрдВрдбрд╛рдЪреНрдпрд╛ рддреБрдХрдбреНрдпрд╛рдВрд╡рд░ рдХрд┐рдВрд╡рд╛ рдХреБрдареЗрддрд░реА рдврдЧрд╛рд╡рд░ рд░реЛрд▓ рдХрд░реВ рд╢рдХрддрд╛. рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯреАрд╕рд╛рдареА рдПрдХ рд╕реНрдерд╛рдкрдирд╛ рдкрджреНрдзрдд рддрддреНрддреНрд╡рддрдГ рдХрд╛рд░реНрдп рдХрд░рддреЗ.

рдпрд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдорд╛рдЭреНрдпрд╛рдХрдбреЗ Kubernetes v1.14.5 рдЕрд╕реЗрд▓. рд╕рдВрдкреВрд░реНрдг рдХреНрдпреВрдм рдХреНрд▓рд╕реНрдЯрд░, рдЬреНрдпрд╛рдЪрд╛ рдЖрдкрдг рд╡рд┐рдЪрд╛рд░ рдХрд░реВ, рдиреЗрдорд╕реНрдкреЗрд╕рдордзреНрдпреЗ рд╡рд┐рднрд╛рдЧрд▓реЗрд▓рд╛ рдЖрд╣реЗ, рдкреНрд░рддреНрдпреЗрдХ рдиреЗрдорд╕реНрдкреЗрд╕ рд╡реЗрдЧрд│реНрдпрд╛ рдЯреАрдорд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ рдЖрдгрд┐ рдпрд╛ рдЯреАрдордЪреНрдпрд╛ рд╕рджрд╕реНрдпрд╛рдВрдирд╛ рдкреНрд░рддреНрдпреЗрдХ рдиреЗрдорд╕реНрдкреЗрд╕рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдЖрд╣реЗ. рддреЗ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдиреЗрдорд╕реНрдкреЗрд╕реЗрд╕рд╡рд░ рдЬрд╛рдК рд╢рдХрдд рдирд╛рд╣реАрдд, рдлрдХреНрдд рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛. рдкрд░рдВрддреБ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рд╢рд╛рд╕рдХ рдЦрд╛рддреЗ рдЖрд╣реЗ рдЬреНрдпрд╛рдХрдбреЗ рд╕рдВрдкреВрд░реНрдг рдХреНрд▓рд╕реНрдЯрд░рдЪреЗ рдЕрдзрд┐рдХрд╛рд░ рдЖрд╣реЗрдд.

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдЫрд┐рджреНрд░реЗ рдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреЗ. DevOpsConf рдХрдбреВрди рдЕрд╣рд╡рд╛рд▓ рдЖрдгрд┐ рдЙрддрд╛рд░рд╛

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

kubectl apply -f pod.yaml

рд╣реЗ рдкреЙрдб рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рдЪреНрдпрд╛ рдорд╛рд╕реНрдЯрд░реНрд╕рдкреИрдХреА рдПрдХрд╛рдХрдбреЗ рдпреЗрдИрд▓. рдЖрдгрд┐ рдпрд╛рдирдВрддрд░ рдХреНрд▓рд╕реНрдЯрд░ рдЖрдореНрд╣рд╛рд▓рд╛ admin.conf рдирд╛рд╡рд╛рдЪреА рдлрд╛рдИрд▓ рдЖрдирдВрджрд╛рдиреЗ рдкрд░рдд рдХрд░реЗрд▓. рдХреНрдпреВрдмрдордзреНрдпреЗ, рд╣реА рдлрд╛рдЗрд▓ рд╕рд░реНрд╡ рдкреНрд░рд╢рд╛рд╕рдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ рдЖрдгрд┐ рддреНрдпрд╛рдЪ рд╡реЗрд│реА рдХреНрд▓рд╕реНрдЯрд░ API рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рддреЗ. рдорд╛рдЭреНрдпрд╛ рдорддреЗ, 98% Kubernetes рдХреНрд▓рд╕реНрдЯрд░реНрд╕рдордзреНрдпреЗ рдкреНрд░рд╢рд╛рд╕рдХ рдкреНрд░рд╡реЗрд╢ рдорд┐рд│рд╡рдгреЗ рдХрд┐рддреА рд╕реЛрдкреЗ рдЖрд╣реЗ.

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

рдЖрдгрд┐ рдЖрддрд╛ рдЦрд╛рд╕ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╢реЗрдВрдЧрд╛ рдмрджреНрджрд▓. рдЖрдореНрд╣реА рддреЗ рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рддрд┐рдореЗрд╡рд░ рдЪрд╛рд▓рд╡рддреЛ. рдЙрджрд╛рд╣рд░рдг рдореНрд╣рдгреВрди debian:jessie рдШреЗрдК.

рдЖрдордЪреНрдпрд╛рдХрдбреЗ рд╣реА рдЧреЛрд╖реНрдЯ рдЖрд╣реЗ:

tolerations:
-   effect: NoSchedule 
    operator: Exists 
nodeSelector: 
    node-role.kubernetes.io/master: "" 

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

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

рдпрд╛ рджреЛрди рд╡рд┐рднрд╛рдЧрд╛рдВрд╕рд╣ рддреЛ рдорд╛рд╕реНрдЯрд░рдХрдбреЗ рдирдХреНрдХреАрдЪ рдпреЗрдИрд▓. рдЖрдгрд┐ рддреНрдпрд╛рд▓рд╛ рддрд┐рдереЗ рд░рд╛рд╣рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджрд┐рд▓реА рдЬрд╛рдИрд▓.

рдкрдг рдХреЗрд╡рд│ рд╕рджреНрдЧреБрд░реВрдХрдбреЗ рдпреЗрдгреЗ рдЖрдкрд▓реНрдпрд╛рд╕рд╛рдареА рдкреБрд░реЗрд╕реЗ рдирд╛рд╣реА. рд╣реЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдХрд╛рд╣реАрд╣реА рджреЗрдгрд╛рд░ рдирд╛рд╣реА. рддрд░ рдкреБрдвреЗ рдЖрдкрд▓реНрдпрд╛рдХрдбреЗ рдпрд╛ рджреЛрди рдЧреЛрд╖реНрдЯреА рдЖрд╣реЗрдд:

hostNetwork: true 
hostPID: true 

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

рдордЧ рдЫреЛрдЯреНрдпрд╛ рдЫреЛрдЯреНрдпрд╛ рдЧреЛрд╖реНрдЯреАрдВрдЪрд╛ рдореБрджреНрджрд╛ рдЖрд╣реЗ. etcd рдШреНрдпрд╛ рдЖрдгрд┐ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рдп рд╣рд╡реЗ рддреЗ рд╡рд╛рдЪрд╛.

рд╕рд░реНрд╡рд╛рдд рдордиреЛрд░рдВрдЬрдХ рдЧреЛрд╖реНрдЯ рдореНрд╣рдгрдЬреЗ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп, рдЬреЗ рддреЗрдереЗ рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдЙрдкрд╕реНрдерд┐рдд рдЖрд╣реЗ.

volumeMounts:
- mountPath: /host 
  name: host 
volumes:
- hostPath: 
    path: / 
    type: Directory 
  name: host 

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

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

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

рдордЧ рд╕рдВрдкреВрд░реНрдг рдХрд╛рд░реНрдп рдореНрд╣рдгрдЬреЗ рдЙрдк-рдбрд┐рд░реЗрдХреНрдЯрд░реА /host /etc/kubernetes/pki рд╡рд░ рдЬрд╛рдгреЗ, рдЬрд░ рдорд╛рдЭреА рдЪреВрдХ рдирд╕реЗрд▓, рддрд░ рддреЗрдереЗ рдХреНрд▓рд╕реНрдЯрд░рдЪреА рд╕рд░реНрд╡ рдорд╛рд╕реНрдЯрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЗ рдШреНрдпрд╛ рдЖрдгрд┐ рддреНрдпрд╛рдиреБрд╕рд╛рд░, рдХреНрд▓рд╕реНрдЯрд░ рдкреНрд░рд╢рд╛рд╕рдХ рд╡реНрд╣рд╛.

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

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

рдорд╛рдЭрд╛ рдЖрд╡рдбрддрд╛ рд░реВрдЯ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЖрд╣реЗ. рдЖрдгрд┐ Kubernetes рдордзреНрдпреЗ рд╣рд╛ Run As Non-Rot рдкрд░реНрдпрд╛рдп рдЖрд╣реЗ. рд╣рд╛ рд╣реЕрдХрд░рдкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдгрд╛рдЪрд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ рдЖрд╣реЗ. рддреБрдореНрд╣рд╛рд▓рд╛ рдорд╛рд╣реАрдд рдЖрд╣реЗ рдХрд╛ "рдореЛрд▓реНрдбрд╛рд╡реНрд╣рд┐рдпрди рд╡реНрд╣рд╛рдпрд░рд╕" рдореНрд╣рдгрдЬреЗ рдХрд╛рдп? рдЬрд░ рддреБрдореНрд╣реА рдЕрдЪрд╛рдирдХ рд╣реЕрдХрд░ рдЕрд╕рд╛рд▓ рдЖрдгрд┐ рдорд╛рдЭреНрдпрд╛ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдЖрд▓рд╛рдд, рддрд░ рдЖрдореНрд╣реА, рдЧрд░реАрдм рдкреНрд░рд╢рд╛рд╕рдХ, рд╡рд┐рдЪрд╛рд░реВ: тАЬрдХреГрдкрдпрд╛ рддреБрдордЪреНрдпрд╛ рдкреЙрдбреНрд╕рдордзреНрдпреЗ рд╕реВрдЪрд┐рдд рдХрд░рд╛ рдЬреНрдпрд╛рдиреЗ рддреБрдореНрд╣реА рдорд╛рдЭреЗ рдХреНрд▓рд╕реНрдЯрд░ рд╣реЕрдХ рдХрд░рд╛рд▓, рд░реВрдЯ рдирд╕рд▓реЗрд▓реНрдпрд╛ рдореНрд╣рдгреВрди рдЪрд╛рд▓рд╡рд╛. рдЕрдиреНрдпрдерд╛, рдЕрд╕реЗ рд╣реЛрдИрд▓ рдХреА рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рдкреЙрдбрдордзреНрдпреЗ рд░реВрдЯ рдЕрдВрддрд░реНрдЧрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪрд╛рд▓рд╡рд╛, рдЖрдгрд┐ рдорд▓рд╛ рд╣реЕрдХ рдХрд░рдгреЗ рддреБрдордЪреНрдпрд╛рд╕рд╛рдареА рдЦреВрдк рд╕реЛрдкреЗ рд╣реЛрдИрд▓. рдХреГрдкрдпрд╛ рд╕реНрд╡рддрдГрдкрд╛рд╕реВрди рд╕реНрд╡рддрдГрдЪреЗ рд░рдХреНрд╖рдг рдХрд░рд╛."

рд╣реЛрд╕реНрдЯ рдкрд╛рде рд╡реНрд╣реЙрд▓реНрдпреВрдо, рдорд╛рдЭреНрдпрд╛ рдорддреЗ, Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдордзреВрди рдЗрдЪреНрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рдЪрд╛ рд╕рд░реНрд╡рд╛рдд рдЬрд▓рдж рдорд╛рд░реНрдЧ рдЖрд╣реЗ.

рдкрдг рдпрд╛ рд╕рдЧрд│реНрдпрд╛рдЪрдВ рдХрд░рд╛рдпрдЪрдВ рдХрд╛рдп?

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдЪрд╛ рд╕рд╛рдордирд╛ рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╢рд╛рд╕рдХрд╛рд▓рд╛ рд╣рд╛ рд╡рд┐рдЪрд╛рд░ рдЖрд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ: тАЬрд╣реЛ, рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд╛рдВрдЧрд┐рддрд▓реЗ, рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХрд╛рдо рдХрд░рдд рдирд╛рд╣реА. рддреНрдпрд╛рдд рдЫрд┐рджреНрд░реЗ рдЖрд╣реЗрдд. рдЖрдгрд┐ рд╕рдВрдкреВрд░реНрдг рдШрди рдмрдХрд╡рд╛рд╕ рдЖрд╣реЗ.тАЭ рдЦрд░рдВ рддрд░, рджрд╕реНрддрдРрд╡рдЬ рдореНрд╣рдгреВрди рдПрдХ рдЧреЛрд╖реНрдЯ рдЖрд╣реЗ, рдЖрдгрд┐ рдЖрдкрдг рддреЗрдереЗ рдкрд╛рд╣рд┐рд▓реЗ рддрд░, рдПрдХ рд╡рд┐рднрд╛рдЧ рдЖрд╣реЗ рдкреЙрдб рд╕реБрд░рдХреНрд╖рд╛ рдзреЛрд░рдг.

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

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

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

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

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

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

рдХрджрд╛рдЪрд┐рдд рдкреНрд░рддреНрдпреЗрдХрдЬрдг Habr├й рд╡рд░реАрд▓ рд╕рдорд╛рди рд▓реЗрдЦ рд╡рд╛рдЪрдд рдЕрд╕реЗрд▓ рдЖрдгрд┐ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдиреЗрдорд╕реНрдкреЗрд╕рдордзреНрдпреЗ рдЖрд╣реЗ. рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ рдкреНрд░рддреНрдпреЗрдХрд╛рд╕рд╛рдареА рдЕрдВрджрд╛рдЬреЗ рд╕рдорд╛рди рдореНрд╣рдЯрд▓реЗ рдЬрд╛рддреЗ. рдорд╛рдЭрд╛ рдЕрдВрджрд╛рдЬ рдЖрд╣реЗ рдХреА рдЬрд░ рддреБрдореНрд╣реА рд╣реЗрд▓реНрдо рд╕реНрдЯреЗрдмрд▓/рдкреНрд░реЛрдорд┐рдерд┐рдпрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рддрд░ рддреБрдордЪреА рдЬрд╡рд│рдЬрд╡рд│ рд╕рдорд╛рди рдирд╛рд╡реЗ рдЕрд╕рддреАрд▓. рдЖрдгрд┐ рдмрд╣реБрдзрд╛ рдорд▓рд╛ рддреБрдордЪреНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреАрд▓ DNS рдирд╛рд╡рд╛рдЪрд╛ рдЕрдВрджрд╛рдЬ рд▓рд╛рд╡рд╛рд╡рд╛ рд▓рд╛рдЧрдгрд╛рд░ рдирд╛рд╣реА. рдХрд╛рд░рдг рддреЗ рдорд╛рдирдХ рдЖрд╣реЗ.

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдЫрд┐рджреНрд░реЗ рдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреЗ. DevOpsConf рдХрдбреВрди рдЕрд╣рд╡рд╛рд▓ рдЖрдгрд┐ рдЙрддрд╛рд░рд╛

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

$ curl http://prometheus-kube-state-metrics.monitoring 

prometheus-kube-state-metrics рд╣рд╛ Prometheus рдирд┐рд░реНрдпрд╛рддрджрд╛рд░рд╛рдВрдкреИрдХреА рдПрдХ рдЖрд╣реЗ рдЬреЛ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ API рдордзреВрдирдЪ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдЧреЛрд│рд╛ рдХрд░рддреЛ. рддреБрдордЪреНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдХрд╛рдп рдЪрд╛рд▓реВ рдЖрд╣реЗ, рддреЗ рдХрд╛рдп рдЖрд╣реЗ, рддреБрдореНрд╣рд╛рд▓рд╛ рддреНрдпрд╛рдд рдХрд╛рдп рд╕рдорд╕реНрдпрд╛ рдЖрд╣реЗрдд, рддреЗрдереЗ рднрд░рдкреВрд░ рдбреЗрдЯрд╛ рдЖрд╣реЗ.

рдПрдХ рд╕рд╛рдзреЗ рдЙрджрд╛рд╣рд░рдг рдореНрд╣рдгреВрди:

kube_pod_container_info{namespace=тАЬkube-systemтАЭ,pod=тАЭkube-apiserver-k8s- 1тА│,container=тАЭkube-apiserverтАЭ,image=

"gcr.io/google-containers/kube-apiserver:v1.14.5"

,image_id=┬╗docker-pullable://gcr.io/google-containers/kube- apiserver@sha256:e29561119a52adad9edc72bfe0e7fcab308501313b09bf99df4a96 38ee634989тА│,container_id=┬╗docker://7cbe7b1fea33f811fdd8f7e0e079191110268f2 853397d7daf08e72c22d3cf8b┬╗} 1

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

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

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

PSP рдкреНрд░рдорд╛рдгреЗрдЪ, рд╕рдорд╕реНрдпрд╛ рдЕрд╢реА рдЖрд╣реЗ рдХреА рд╣реЗ рд╕рд░реНрд╡ рдлреЕрдиреНрд╕реА рддрдВрддреНрд░рдЬреНрдЮрд╛рди - рдХреБрдмрд░реНрдиреЗрдЯреНрд╕, рдкреНрд░реЛрдорд┐рдерд┐рдпрд╕ - рддреЗ рдХрд╛рд░реНрдп рдХрд░рдд рдирд╛рд╣реАрдд рдЖрдгрд┐ рдЫрд┐рджреНрд░рд╛рдВрдиреА рднрд░рд▓реЗрд▓реЗ рдЖрд╣реЗрдд. рдЦрд░рдВрдЪ рдирд╛рд╣реА.

рдЕрд╢реА рдПрдХ рдЧреЛрд╖реНрдЯ рдЖрд╣реЗ - рдиреЗрдЯрд╡рд░реНрдХ рдзреЛрд░рдг.

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

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

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

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

рдореА рдХрд╛рдп рдХрд░рд╛рд╡реЗ?

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

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

рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рдирд╡реАрди рдХреНрд▓рд╕реНрдЯрд░ рд╡рд╛рдврд╡рддрд╛, рддреНрдпрд╛рдЪ рд╡реЗрд│реА рдлреНрд▓реЕрдиреЗрд▓рдРрд╡рдЬреА рдХреЕрд▓рд┐рдХреЛ рдШрд╛рд▓рд╛.

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

рдПрдХ рд╕рдорд╕реНрдпрд╛ рдЖрд╣реЗ. рдкреВрд░реНрд╡реА, рд╣реЗ Kube-RBAC-Proxy рд╕реЛрд▓реНрдпреВрд╢рди рдСрдкрд░реЗрдЯрд░рдЪреНрдпрд╛ Prometheus рдордзреНрдпреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рд╣реЛрддреЗ. рдкрдг рдирдВрддрд░ рддреЛ рдирд┐рдШреВрди рдЧреЗрд▓рд╛ рд╣реЛрддрд╛. рдЖрддрд╛ рдЖрдзреБрдирд┐рдХ рдЖрд╡реГрддреНрддреНрдпрд╛ рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЖрд╣реЗрдд рдХреА рдЖрдкрд▓реНрдпрд╛рдХрдбреЗ рдиреЗрдЯрд╡рд░реНрдХ рдзреЛрд░рдг рдЖрд╣реЗ рдЖрдгрд┐ рддреЗ рд╡рд╛рдкрд░реВрди рддреЗ рдмрдВрдж рдХрд░рд╛. рдЖрдгрд┐ рдореНрд╣рдгреВрди рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЪрд╛рд░реНрдЯ рдереЛрдбреЗ рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓. рдЦрд░рдВ рддрд░, рдЖрдкрдг рдЧреЗрд▓рд╛рдд рддрд░ рд╣реЗ рднрд╛рдВрдбрд╛рд░, рд╣реЗ рд╕рд╛рдЗрдбрдХрд╛рд░ рдореНрд╣рдгреВрди рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рдпрд╛рдЪреА рдЙрджрд╛рд╣рд░рдгреЗ рдЖрд╣реЗрдд рдЖрдгрд┐ рдЪрд╛рд░реНрдЯ рдХрдореАрдд рдХрдореА рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд╛рд╡реЗ рд▓рд╛рдЧрддреАрд▓.

рдЕрдЬреВрди рдПрдХ рдЫреЛрдЯреА рд╕рдорд╕реНрдпрд╛ рдЖрд╣реЗ. рдкреНрд░реЛрдорд┐рдерд┐рдпрд╕ рд╣рд╛ рдПрдХрдЯрд╛рдЪ рдирд╛рд╣реА рдЬреЛ рддреНрдпрд╛рдЪреЗ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдлрдХреНрдд рдХреЛрдгрд╛рд▓рд╛ рджреЗрддреЛ. рдЖрдордЪреЗ рд╕рд░реНрд╡ Kubernetes рдХреНрд▓рд╕реНрдЯрд░ рдШрдЯрдХ рджреЗрдЦреАрд▓ рддреНрдпрд╛рдВрдЪреЗ рд╕реНрд╡рддрдГрдЪреЗ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкрд░рдд рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЖрд╣реЗрдд.

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

рдореНрд╣рдгреВрди рдореА рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рдЪрд╛ рдирд╛рд╢ рдХрд╕рд╛ рдХрд░рддрд╛ рдпреЗрдИрд▓ рдпрд╛рдЪреЗ рджреЛрди рдорд╛рд░реНрдЧ рдкрдЯрдХрди рджрд╛рдЦрд╡рддреЛ.

рдЬреЗрд╡реНрд╣рд╛ рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рд╣реЗ рд╕рд╛рдВрдЧреЗрди рддреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рд╣рд╕рд╛рд▓, рд╣реА рджреЛрди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рдирд╛рддреАрд▓ рдкреНрд░рдХрд░рдгреЗ рдЖрд╣реЗрдд.

рдкрджреНрдзрдд рдПрдХ. рд╕рдВрд╕рд╛рдзрди рдХрдореА рд╣реЛрдгреЗ.

рдЪрд▓рд╛ рдЖрдгрдЦреА рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреЙрдб рд▓рд╛рдБрдЪ рдХрд░реВрдпрд╛. рддреНрдпрд╛рдд рдЕрд╕рд╛ рд╡рд┐рднрд╛рдЧ рдЕрд╕реЗрд▓.

resources: 
    requests: 
        cpu: 4 
        memory: 4Gi 

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

рдЬрд░ рдореА рдЕрд╕рд╛ рдкреЙрдб рдЪрд╛рд▓рд╡рд▓рд╛ рддрд░ рдореА рдХрдорд╛рдВрдб рд░рди рдХрд░реЗрди:

$ kubectl scale special-pod --replicas=...

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

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

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

рдЖрдгрд┐ рдпреЗрдереВрдирдЪ рдкрджреНрдзрдд рдХреНрд░рдорд╛рдВрдХ рджреЛрди рдпреЗрддреЗ. рдЖрдореНрд╣реА 11 рдкреЙрдб рд▓рд╛рдБрдЪ рдХрд░рддреЛ. рддреЗ рдЕрдХрд░рд╛ рдЕрдмреНрдЬ рдЖрд╣реЗ. рдореА рдЕрд╕рд╛ рдирдВрдмрд░ рдШреЗрдКрди рдЖрд▓реЛ рдореНрд╣рдгреВрди рдирд╛рд╣реА, рддрд░ рдореА рддреЗ рд╕реНрд╡рддрдГ рдкрд╛рд╣рд┐рд▓реЗ рдЖрд╣реЗ рдореНрд╣рдгреВрди.

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

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

рдЦрд░реЗ рдЖрд╣реЗ, рд╣реА рдХрдерд╛ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд╡рд░ рдШрдбрд▓реА рдирд╛рд╣реА; рддреНрдпрд╛рд╡реЗрд│реА рддреА рднрдЯрдХреНрдпрд╛ рд╣реЛрддреА. рд╣реЗ рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрд╕рд╣ рд╕рдорд╛рдкреНрдд рдЭрд╛рд▓реЗ рдХреА рдЖрдореНрд╣реА рднрдЯрдХреНрдпрд╛рд▓рд╛ рдорд╛рдкрди рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╕рддрдд рдкреНрд░рдпрддреНрдирд╛рдВрдкрд╛рд╕реВрди рдерд╛рдВрдмрд╡рдгреНрдпрд╛рдЪреНрдпрд╛ рдПрдХрд╛ рддрд╛рд╕рд╛рдирдВрддрд░, рднрдЯрдХреНрдпрд╛рдиреЗ рдЙрддреНрддрд░ рджрд┐рд▓реЗ рдХреА рддреЛ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдерд╛рдВрдмрд╡рдгрд╛рд░ рдирд╛рд╣реА рдЖрдгрд┐ рджреБрд╕рд░реЗ рдХрд╛рд╣реАрд╣реА рдХрд░рдгрд╛рд░ рдирд╛рд╣реА. "рдореА рдердХрд▓реЛ рдЖрд╣реЗ, рдореА рдирд┐рдШрдд рдЖрд╣реЗ." рдЖрдгрд┐ рддреЛ рдХреБрд░рд╡рд╛рд│рд▓рд╛.

рд╕рд╛рд╣рдЬрд┐рдХрдЪ, рдореА рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд╡рд░рд╣реА рдЕрд╕реЗрдЪ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХреЗрд▓рд╛. рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдЕрдХрд░рд╛ рдЕрдмреНрдЬ рдкреЙрдбреНрд╕рд╡рд░ рдЦреВрд╢ рдирд╡реНрд╣рддреЗ, рддреЛ рдореНрд╣рдгрд╛рд▓рд╛: тАЬрдореА рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА. рдЕрдВрддрд░реНрдЧрдд рдорд╛рдЙрде рдЧрд╛рд░реНрдбреНрд╕рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдЖрд╣реЗ." рдкрдг 1 рд╢реЗрдВрдЧрд╛ рдХрд░реВ рд╢рдХрддрд╛рдд.

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

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

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

рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рддреБрдореНрд╣реА рдПрдХ рдЕрдмреНрдЬ рдкреЙрдбреНрд╕ рдЪрд╛рд▓рд╡рд▓реНрдпрд╛рд╕, рдЖрдгрд┐ рдирдВрддрд░ рдХреБрдмрд░рдиреЗрдЯрд┐рд╕рд▓рд╛ рдирд╡реАрди рд╕реЗрд╡рд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рднрд╛рдЧ рдкрд╛рдбрдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╛рдкрд░рд╛:

for i in {1..1111111}; do
    kubectl expose deployment test --port 80  
        --overrides="{"apiVersion": "v1", 
           "metadata": {"name": "nginx$i"}}"; 
done 

рдХреНрд▓рд╕реНрдЯрд░рдЪреНрдпрд╛ рд╕рд░реНрд╡ рдиреЛрдбреНрд╕рд╡рд░, рдЕрдзрд┐рдХрд╛рдзрд┐рдХ рдирд╡реАрди iptables рдирд┐рдпрдо рдЕрдВрджрд╛рдЬреЗ рдПрдХрд╛рдЪ рд╡реЗрд│реА рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓. рд╢рд┐рд╡рд╛рдп, рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡реЗрд╕рд╛рдареА рдПрдХ рдЕрдмреНрдЬ iptables рдирд┐рдпрдо рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓.

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

рдЖрдгрд┐ рд╣реЗ рджреЗрдЦреАрд▓, рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдЪреНрдпрд╛ рдорджрддреАрдиреЗ рд╕реЛрдбрд╡рд▓реЗ рдЬрд╛рддреЗ. рдЕрд╕рд╛ рд░рд┐рд╕реЛрд░реНрд╕ рдХреЛрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрд╣реЗ. рдХреНрд▓рд╕реНрдЯрд░рдордзреАрд▓ рдиреЗрдорд╕реНрдкреЗрд╕рд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз рд╕рдВрд╕рд╛рдзрдиреЗ рдЖрдгрд┐ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рдЪреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗрдЯ рдХрд░рддреЗ. Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдЪреНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдиреЗрдорд╕реНрдкреЗрд╕рдордзреНрдпреЗ рдЖрдкрдг yaml рдСрдмреНрдЬреЗрдХреНрдЯ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддреЛ. рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди, рдЖрдореНрд╣реА рдЕрд╕реЗ рдореНрд╣рдгреВ рд╢рдХрддреЛ рдХреА рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдпрд╛ рдиреЗрдорд╕реНрдкреЗрд╕рд╕рд╛рдареА рдХрд╛рд╣реА рд╡рд┐рдирдВрддреНрдпрд╛ рдЖрдгрд┐ рдорд░реНрдпрд╛рджрд╛ рд╡рд╛рдЯрдк рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд рдЖрдгрд┐ рдирдВрддрд░ рдЖрдореНрд╣реА рдЕрд╕реЗ рдореНрд╣рдгреВ рд╢рдХрддреЛ рдХреА рдпрд╛ рдиреЗрдорд╕реНрдкреЗрд╕рдордзреНрдпреЗ 10 рд╕реЗрд╡рд╛ рдЖрдгрд┐ 10 рдкреЙрдб рддрдпрд╛рд░ рдХрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ. рдЖрдгрд┐ рдПрдХрдЪ рд╡рд┐рдХрд╛рд╕рдХ рдХрд┐рдорд╛рди рд╕рдВрдзреНрдпрд╛рдХрд╛рд│реА рд╕реНрд╡рддрдГрд▓рд╛ рдЧреБрджрдорд░рд╡реВ рд╢рдХрддреЛ. рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рддреНрдпрд╛рд▓рд╛ рд╕рд╛рдВрдЧрддреАрд▓: "рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рд╢реЗрдВрдЧрд╛ рддреНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рд╡рд╛рдврд╡реВ рд╢рдХрдд рдирд╛рд╣реА, рдХрд╛рд░рдг рд╕рдВрд╕рд╛рдзрди рдХреЛрдЯрд╛ рдУрд▓рд╛рдВрдбрдд рдЖрд╣реЗ." рдмрд╕реНрд╕, рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рд▓реА. рдпреЗрдереЗ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг.

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

рд╕рдВрд╕рд╛рдзрди рдХреЛрдЯрд╛ + рдорд░реНрдпрд╛рджрд╛ рд╢реНрд░реЗрдгреА + RBAC
тАв рдПрдХ рдиреЗрдорд╕реНрдкреЗрд╕ рддрдпрд╛рд░ рдХрд░рд╛
тАв рдЖрдд рдПрдХ рдорд░реНрдпрд╛рджрд╛ рддрдпрд╛рд░ рдХрд░рд╛
тАв рдЖрдд рд╕рдВрд╕рд╛рдзрди рдХреЛрдЯрд╛ рддрдпрд╛рд░ рдХрд░рд╛
тАв CI рд╕рд╛рдареА рд╕реЗрд╡рд╛ рдЦрд╛рддреЗ рддрдпрд╛рд░ рдХрд░рд╛
тАв CI рдЖрдгрд┐ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╕рд╛рдареА рд░реЛрд▓рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рддрдпрд╛рд░ рдХрд░рд╛
тАв рд╡реИрдХрд▓реНрдкрд┐рдХрд░рд┐рддреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╕реЗрд╡рд╛ рдкреЙрдб рд▓рд╛рдБрдЪ рдХрд░рд╛

рдореНрд╣рдгреВрди, рдореА рдорд╛рдЭреНрдпрд╛ рдШрдбрд╛рдореЛрдбреА рд╢реЗрдЕрд░ рдХрд░рдгреНрдпрд╛рдЪреА рд╣реА рд╕рдВрдзреА рдШреЗрдК рдЗрдЪреНрдЫрд┐рддреЛ. SDK рдСрдкрд░реЗрдЯрд░ рдирд╛рд╡рд╛рдЪреА рдЕрд╢реА рдПрдХ рдЧреЛрд╖реНрдЯ рдЖрд╣реЗ. Kubernetes рдХреНрд▓рд╕реНрдЯрд░рд╕рд╛рдареА рдСрдкрд░реЗрдЯрд░ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪрд╛ рд╣рд╛ рдПрдХ рдорд╛рд░реНрдЧ рдЖрд╣реЗ. рддреБрдореНрд╣реА Ansible рд╡рд╛рдкрд░реВрди рд╡рд┐рдзрд╛рдиреЗ рд▓рд┐рд╣реВ рд╢рдХрддрд╛.

рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рддреЗ Ansible рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗ рд╣реЛрддреЗ, рдЖрдгрд┐ рдирдВрддрд░ рдореА рдкрд╛рд╣рд┐рд▓реЗ рдХреА рддреЗрдереЗ рдПрдХ SDK рдСрдкрд░реЗрдЯрд░ рдЖрд╣реЗ рдЖрдгрд┐ рдСрдкрд░реЗрдЯрд░рдордзреНрдпреЗ рдЙрддреНрддрд░рджрд╛рдпреА рднреВрдорд┐рдХрд╛ рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд┐рд▓реА. рд╣реЗ рд╡рд┐рдзрд╛рди рддреБрдореНрд╣рд╛рд▓рд╛ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдХрдорд╛рдВрдб рдирд╛рд╡рд╛рдЪреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рдХрдорд╛рдВрдбрдЪреНрдпрд╛ рдЖрдд, рддреЗ рддреБрдореНрд╣рд╛рд▓рд╛ yaml рдордзреНрдпреЗ рдпрд╛ рдХрдорд╛рдВрдбрд╕рд╛рдареА рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдЪреЗ рд╡рд░реНрдгрди рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рдЖрдгрд┐ рд╕рдВрдШрд╛рдЪреНрдпрд╛ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд, рд╣реЗ рдЖрдореНрд╣рд╛рд▓рд╛ рд╡рд░реНрдгрди рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ рдХреА рдЖрдореНрд╣реА рдмрд░реНрдпрд╛рдЪ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреЗ рд╡рд╛рдЯрдк рдХрд░рдд рдЖрд╣реЛрдд.

рдереЛрдбреЗ рд╣реА рд╕рдВрдкреВрд░реНрдг рдЬрдЯрд┐рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реБрд▓рдн рдХрд░рдгреЗ.

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

рдиреЗрдЯрд╡рд░реНрдХ рдкреЙрд▓рд┐рд╕реА рд╣реЗ рдлрдХреНрдд рдЖрдгрдЦреА рдПрдХ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдирд╛рд╣реА. рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдпрд╛рдЪреА рдЦрд░реЛрдЦрд░ рдЧрд░рдЬ рдЖрд╣реЗ.

LimitRange/ResourceQuota - рддреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рд╡реЗрд│ рдЖрд▓реА рдЖрд╣реЗ. рдЖрдореНрд╣реА рд╣реЗ рдЦреВрдк рдкреВрд░реНрд╡реА рд╡рд╛рдкрд░рд╛рдпрд▓рд╛ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА рд╣реЛрддреА рдЖрдгрд┐ рдмрд░реНрдпрд╛рдЪ рдХрд╛рд│рд╛рдкрд╛рд╕реВрди рдорд▓рд╛ рдЦрд╛рддреНрд░реА рд╣реЛрддреА рдХреА рдкреНрд░рддреНрдпреЗрдХрдЬрдг рддреЗ рд╡рд╛рдкрд░рдд рдЖрд╣реЗ. рд╣реЗ рджреБрд░реНрдорд┐рд│ рдЕрд╕рд▓реНрдпрд╛рдЪреЗ рдирд┐рд╖реНрдкрдиреНрди рдЭрд╛рд▓реЗ.

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

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

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

рд╕рд░реНрд╡рд╛рдВрдЪреЗ рдЖрднрд╛рд░.

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

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