12 рд╕рд╛рдзрдиреЗ рдЬреА рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╕реБрд▓рдн рдХрд░рддрд╛рдд

12 рд╕рд╛рдзрдиреЗ рдЬреА рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╕реБрд▓рдн рдХрд░рддрд╛рдд

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

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

NB рдорд▓рд╛ рдЖрд╢рд╛ рдЖрд╣реЗ рдХреА рдХреБрддреНрд░реНрдпрд╛рд▓рд╛ рдЪрд╛рд╡рдгрд╛рд░рд╛, рдкрдВрдЧреЛрд▓рд┐рди рдЪрд╛рд╡рдгрд╛рд░рд╛, рдЪрд╛рдпрдиреАрдЬ рдорд╛рдгрд╕рд╛рд▓рд╛ рдЪрд╛рд╡рдгрд╛рд░рд╛ рдЕрдиреЛрд│рдЦреА рдпреЛрдЧрд╛рдпреЛрдЧрд╛рдиреЗ рд╡реБрд╣рд╛рдирдордзреНрдпреЗ, рдЬрд┐рдереЗ BSL-4 рд╕реНрддрд░рд╛рдЪреА рдЬреИрд╡рд┐рдХ рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдЖрд╣реЗ, рддреНрдпрд╛ рдЕрдЬреНрдЮрд╛рдд рдмреЕрдЯрдЪрд╛ рд╕рдВрд╕рд░реНрдЧ рдлреЗрдмреНрд░реБрд╡рд╛рд░реАрдкрд░реНрдпрдВрдд рдХрдореА рд╣реЛрдИрд▓ рдЖрдгрд┐ рдЖрдореНрд╣реА рдлрдХреНрдд рд▓рдХреНрд╖рд╛рдд рдареЗрд╡реВ. 2019-nCoV рдЕрд╢реНрд▓реАрд▓ рднрд╛рд╖рд╛ рд╡рд╛рдкрд░рдгреЗ. рдЖрдгрд┐ рдЖрдореНрд╣реА рддреЗ рдСрдлрд▓рд╛рдЗрди рдХрд░реВ рд╢рдХрддреЛ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдмреЗрд╕ 8-10 рдлреЗрдмреНрд░реБрд╡рд╛рд░реА 2021, рдЖрдгрд┐ Kubernetes рдореЗрдЧрд╛ рдкреНрд░рдЧрдд K8 рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╕рд╛рдареА рдлреЗрдмреНрд░реБрд╡рд╛рд░реА резреи-резрек. рдкреНрд░рд╛рдорд╛рдгрд┐рдХрдкрдгреЗ, рд╡реИрдпрдХреНрддрд┐рдХрд░рд┐рддреНрдпрд╛, рд╕рдВрдкрд╛рджрдХ рдореНрд╣рдгреВрди, рдореА рдбреНрд░рд╛рдЗрд╡реНрд╣, рдХреЙрдлреА рдмреНрд░реЗрдХ, рд╡рд╛рджрд╡рд┐рд╡рд╛рдж рдЖрдгрд┐ рд╕реНрдкреАрдХрд░реНрд╕рд╕рд╛рдареА рдЕрд╡рдШрдб рдкреНрд░рд╢реНрди рдЧрдорд╛рд╡рддреЛ. рдмрд░рдВ, рдХрд┐рдВрд╡рд╛ рд╕реНрдЯрд╛рдпреЛрдкрд╛ рдЕрд╡рд░ рдХреЛрд░реЛрд▓реЗрд╡реНрд╣рдЪреНрдпрд╛ рд╕рд░реНрд╡рд╛рдд рдХреНрд░реВрд░ рдЖрдгрд┐ рдХрдЪрд▒реНрдпрд╛рдЪреНрдпрд╛ рдХрд╛рджрдВрдмрд░реАрдЪреНрдпрд╛ рд╢реИрд▓реАрдд рдЖрдкрдг рд╕рдВрдкреВрд░реНрдг рдЧреНрд░рд╣рд╛рд╕рд╣ рдорд░реВрди рдЬрд╛рдК, рдЬрд░ рд╕рд░реНрд╡реЛрдЪреНрдЪ рд╢рдХреНрддреА рдЖрдкрд▓реНрдпрд╛ рдореВрдХ рд╡рд┐рдиреЛрджрд╛рдВрдореБрд│реЗ рдХрдВрдЪрд┐рддрд╛ рд╡реБрд░реНрд╕реНрдЯ, рдкреЕрдЯреНрд░рд┐рдЖрд░реНрдХ рдХрд┐рд░реАрд▓рдЪреЗ рдШрдбреНрдпрд╛рд│ рдЖрдгрд┐ рдкреЛрдкрдЪреНрдпрд╛ рджреБрд░реБрд╕реНрдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЗрдЪреНрдЫреЗрд▓рд╛ рдХрдВрдЯрд╛рд│рд▓реНрдпрд╛ рдЕрд╕рддреАрд▓. рдкреНрд░рднреВрдЪреНрдпрд╛ рдкреНрд░рд╛рд░реНрдердиреЗрдЪреЗ рд╢рдмреНрдж.

рдкрдг рдореБрдЦреНрдп рдЧреЛрд╖реНрдЯреАрдХрдбреЗ рдкрд░рдд рдЬрд╛рдКрдпрд╛.

рдЧреЛрд▓реНрдбрдкрд┐рдВрдЧрд░: рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░реНрд╕рдЪреЗ рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓рд╛рдпрдЭрд┐рдВрдЧ

рд▓реЛрдХ рдкрд╛рд╣рдгреЗ рдкрд╕рдВрдд рдХрд░рддрд╛рдд. рдЖрд▓реЗрдЦ рдЖрдгрд┐ рддрдХреНрддреЗ рдореЛрдареЗ рдЪрд┐рддреНрд░ рд╕рдордЬреВрди рдШреЗрдгреЗ рд╕реЛрдкреЗ рдХрд░рддрд╛рдд. рдЖрдгрд┐ Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдЪреА рд╕реНрдХреЗрд▓ рдЖрдгрд┐ рдЬрдЯрд┐рд▓рддрд╛ рд▓рдХреНрд╖рд╛рдд рдШреЗрддрд╛, рдЖрдореНрд╣реА рдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдЪрд╛ рдкреВрд░реНрдг рдлрд╛рдпрджрд╛ рдШреЗрдК рд╢рдХрддреЛ.

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

K9s: Kubernetes рд╕рд╛рдареА рдкреВрд░реНрдг-рд╕реНрдХреНрд░реАрди рдХрдиреНрд╕реЛрд▓ рдЗрдВрдЯрд░рдлреЗрд╕

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

Kops: Kubernetes рдХреНрд▓рд╕реНрдЯрд░рд╕рд╛рдареА Console ops

рд╣реЗ Kubernetes рдЯреАрдо рдХрдбреВрди рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрдирд╡рд░реВрди Kubernetes рдХреНрд▓рд╕реНрдЯрд░реНрд╕ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдд рдорджрдд рдХрд░реЗрд▓. рд╣реЗ AWS рдЖрдгрд┐ GKE рд╡рд░ рдЪрд╛рд▓рдгрд╛рд░реНтАНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ рдЖрдгрд┐ VMware vSphere рдЖрдгрд┐ рдЗрддрд░ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рд╕рд╣ рджреЗрдЦреАрд▓ рдХрд╛рд░реНрдп рдХрд░рддреЗ. рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдЖрдгрд┐ рдЕрдирдЗрдиреНрд╕реНрдЯреЙрд▓реЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдХреЙрдкреНрд╕ рдЗрддрд░ рдкреНрд░рдХрд╛рд░рдЪреЗ рдСрдЯреЛрдореЗрд╢рди рд╣рд╛рддрд╛рд│рдгреНрдпрд╛рд╕ рдорджрдд рдХрд░реВ рд╢рдХрддрд╛рдд. рд╡рд┐рд╢реЗрд╖рддрдГ, рддреЛ рдЯреЗрд░рд╛рдлреЙрд░реНрдорд╕рд╛рдареА рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддреЛ рдЬреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд╡рд╛рдкрд░реВрди рдХреНрд▓рд╕реНрдЯрд░ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.

Kubebox: Kubernetes рд╕рд╛рдареА рдЯрд░реНрдорд┐рдирд▓ рд╢реЗрд▓

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

рдХреБрдмреЗ-рд▓рд╛рд╡рдгрд╛рд░рд╛

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

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

Kube-ps1: Kubernetes рд╕рд╛рдареА рд╕реНрдорд╛рд░реНрдЯ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкреНрд░реЙрдореНрдкреНрдЯ

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

рдХреБрдмреЗ-рддрддреНрдкрд░

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

рдХреБрдмреЗрд╕реНрдкреА: рд░рд┐рдЕрд▓-рдЯрд╛рдЗрдо рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд░рд┐рд╕реЛрд░реНрд╕ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ

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

рдХреБрдмреЗрд╡рд▓: рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рддрдкрд╛рд╕рдд рдЖрд╣реЗ

Kubernetes рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди YAML рдлрд╛рдпрд▓реА рдорд╛рдирд╡реА рд╡рд╛рдЪрдиреАрдп рдЕрд╕реВ рд╢рдХрддрд╛рдд, рдкрд░рдВрддреБ рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдирд╛рд╣реА рдХреА рддреНрдпрд╛ рджреЗрдЦреАрд▓ рдкреНрд░рдорд╛рдгрд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд. рд╕реНрд╡рд▓реНрдкрд╡рд┐рд░рд╛рдо рдХрд┐рдВрд╡рд╛ рдирд╛рд╡ рдЪреБрдХрдгреЗ рдЖрдгрд┐ рдЦреВрдк рдЙрд╢реАрд░ рд╣реЛрдИрдкрд░реНрдпрдВрдд рддреЗ рд╢реЛрдзрдгреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ. рд╡рд╛рдкрд░рдгреЗ рдЪрд╛рдВрдЧрд▓реЗ рдХреБрдмреЗрд╡рд▓, рд╕реНрдерд╛рдирд┐рдХрд░рд┐рддреНрдпрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗрд▓реЗ рдХрд┐рдВрд╡рд╛ CICD рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдордзреНрдпреЗ рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реЗ. рдХреБрдмреЗрд╡рд╛рд▓ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдЪреА YAML рд╡реНрдпрд╛рдЦреНрдпрд╛ рдШреЗрддреЛ рдЖрдгрд┐ рдЕрдЪреВрдХрддреЗрдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рдорд╛рдЧреЗ рдЯрд╛рдХрддреЛ. рд╣реЗ JSON рдХрд┐рдВрд╡рд╛ TAP рдордзреНтАНрдпреЗ рдбреЗрдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ рджреЗрдЦреАрд▓ рдХрд░реВ рд╢рдХрддреЗ, рддрд╕реЗрдЪ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд╡реЗрд░реА рди рдХрд░рддрд╛ рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрджреНрд╡рд╛рд░реЗ рд╕рдВрджрд░реНрднрд┐рдд рд╕реНрддреНрд░реЛрдд рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдкрд╛рд░реНрд╕ рдХрд░реВ рд╢рдХрддреЗ.

Kube-ops-view: рдПрдХрд╛рдзрд┐рдХ Kubernetes рдХреНрд▓рд╕реНрдЯрд░рд╕рд╛рдареА рдбреЕрд╢рдмреЛрд░реНрдб

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

рд░рд┐рдУ: рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд╕рд╛рдареА рдЕрд░реНрдЬ рд╡рд┐рддрд░рд┐рдд рдХрд░рдгреЗ

рд░рд┐рдУ, Rancher Labs рдордзреАрд▓ рдПрдХ рдкреНрд░рдХрд▓реНрдк, Kubernetes рд╡рд░ рд╕рд╛рдорд╛рдиреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рддрд░рдг рдкрджреНрдзрддреА рд▓рд╛рдЧреВ рдХрд░рддреЛ, рдЬрд╕реЗ рдХреА Git, AB, рдХрд┐рдВрд╡рд╛ рдирд┐рд│реНрдпрд╛-рд╣рд┐рд░рд╡реНрдпрд╛ рдбрд┐рд▓рд┐рд╡реНрд╣рд░реА рдХрдбреАрд▓ CD. рддреБрдореНрд╣реА рдмрджрд▓ рдХрд░рддрд╛рдЪ рддреЗ рддреБрдордЪреНрдпрд╛ рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рдирдЪреА рдирд╡реАрди рдЖрд╡реГрддреНрддреА рджреЗрдЦреАрд▓ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░реВ рд╢рдХрддреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, DNS, HTTPS, рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢рд╕рд╣ рдЧреБрдВрддрд╛рдЧреБрдВрдд рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдд рдорджрдд рдХрд░рддреЗ.

рд╕реНрдЯрд░реНрди рдЖрдгрд┐ рдХреБрдмреЗрдЯреЗрд▓: рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рд▓реЙрдЧ рдкрд╛рд╣рдгреЗ

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

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

рдХреЗрд╡рд│ рдиреЛрдВрджрдгреАрдХреГрдд рд╡рд╛рдкрд░рдХрд░реНрддреЗрдЪ рд╕рд░реНрд╡реЗрдХреНрд╖рдгрд╛рдд рднрд╛рдЧ рдШреЗрдК рд╢рдХрддрд╛рдд. рд╕рд╛рдЗрди рдЗрди рдХрд░рд╛, рдЖрдкрд▓реЗ рд╕реНрд╡рд╛рдЧрдд рдЖрд╣реЗ.

рдирд┐рдпрдорд┐рдд рдСрдкрд░реЗрд╢рдиреНрд╕ рд╕реБрд▓рдн рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рдХрд╛рдп рд╡рд╛рдкрд░рддрд╛?

  • 2,9%рдЧреЛрд▓реНрдбрдкрд┐рдВрдЧрд░ рез

  • 22,9%K9s8

  • 0,0%Kops0

  • 0,0%рдХреБрдмреЗрдмреЙрдХреНрд╕0

  • 0,0%рдХреБрдмреЗ-рдЕрдкреНрд▓рд╛рдпрд░реж

  • 0,0%рдХреБрдмреЗ-ps10

  • 0,0%рдХреБрдмреЗ-рдкреНрд░реЙрдореНрдкреНрдЯ0

  • 0,0%Kubespy0

  • 2,9%рдХреБрдмреЗрд╡рд▓ рез

  • 0,0%Kube-ops-view0

  • 0,0%рд░рд┐рдУ 0

  • 2,9%рд╕реНрдЯрд░реНрди рез

  • 5,7%рдХреБрдмреЗрдЯреЗрд▓2

  • 28,6%рдпрд╛рдкреИрдХреА рдирд╛рд╣реА 10

  • 5,7%рдорд╛рдЭреНрдпрд╛рдХрдбреЗ рдорд╛рдЭрд╛ рд╕реНрд╡рддрдГрдЪрд╛ "рдкреВрд░реНрд╡-рдП-рд▓реЗ-рдП-рдЕрддреНрдпрдВрдд" рдЖрд╣реЗ

  • 8,6%рдореА list3 рдордзреВрди рдХрд╛рд╣реАрддрд░реА рдорд┐рд│рд╡рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реЗрди

  • 20,0%рдЬреЙрдиреА рдиреЗрдореЛрдирд┐рдХ7 рдЪрд┐рддреНрд░рдкрдЯрд╛рдкреНрд░рдорд╛рдгреЗ рдореА рдиреНрдпреВрд░рд▓ рдЗрдореНрдкреНрд▓рд╛рдВрдЯ рд╡рд╛рдкрд░реВрди рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЛ

35 рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдиреА рдорддрджрд╛рди рдХреЗрд▓реЗ. 19 рд╡рд╛рдкрд░рдХрд░реНрддреЗ рджреВрд░ рд░рд╛рд╣рд┐рд▓реЗ.

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

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