Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдкреНрд╡рд╛рд▓рд╣рд░реВ рдлрд┐рдХреНрд╕ рдЧрд░реНрджреИред DevOpsConf рдмрд╛рдЯ рд░рд┐рдкреЛрд░реНрдЯ рд░ рдЯреНрд░рд╛рдиреНрд╕рдХреНрд░рд┐рдкреНрдЯ

Pavel Selivanov, Southbridge Solutions рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ рд░ Slurm рд╢рд┐рдХреНрд╖рдХрд▓реЗ DevOpsConf 2019 рдорд╛ рдПрдХ рдкреНрд░рд╕реНрддреБрддреАрдХрд░рдг рджрд┐рдПред рдпреЛ рд╡рд╛рд░реНрддрд╛ Kubernetes "Slurm Mega" рдорд╛ рдЧрд╣рди рдкрд╛рдареНрдпрдХреНрд░рдордХреЛ рдПрдХ рд╡рд┐рд╖рдпрдХреЛ рдЕрдВрд╢ рд╣реЛред

рд╕реНрд▓рд░реНрдо рдмреЗрд╕рд┐рдХ: рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдХреЛ рдкрд░рд┐рдЪрдп рдиреЛрднреЗрдореНрдмрд░ 18-20 рдорд╛ рдорд╛рд╕реНрдХреЛ рдорд╛ рд╣реБрдиреНрдЫред
Slurm Mega: Kubernetes рдХреЛ рд╣реБрдб рдЕрдиреНрддрд░реНрдЧрдд рд╣реЗрд░реНрджреИ - рдорд╕реНрдХреЛ, рдиреЛрднреЗрдореНрдмрд░ 22-24ред
Slurm рдЕрдирд▓рд╛рдЗрди: рджреБрдмреИ Kubernetes рдкрд╛рдареНрдпрдХреНрд░рдорд╣рд░реВ рд╕рдзреИрдВ рдЙрдкрд▓рдмреНрдзред

рдХрдЯ рддрд▓ рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рдПрдХ рдЯреНрд░рд╛рдиреНрд╕рдХреНрд░рд┐рдкреНрдЯ рдЫред

рд╢реБрдн рджрд┐рдЙрдБрд╕реЛ, рд╕рд╣рдХрд░реНрдореАрд╣рд░реВ рд░ рдЙрдиреАрд╣рд░реВрд╕рдБрдЧ рд╕рд╣рд╛рдиреБрднреВрддрд┐ рд░рд╛рдЦреНрдиреЗрд╣рд░реВред рдЖрдЬ рдо рд╕реБрд░рдХреНрд╖рд╛рдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрдиреЗрдЫреБред

рдореИрд▓реЗ рдЖрдЬ рд╣рд▓рдорд╛ рдзреЗрд░реИ рд╕реБрд░рдХреНрд╖рд╛ рдЧрд╛рд░реНрдбрд╣рд░реВ рджреЗрдЦреЗрдХреЛ рдЫреБред рдпрджрд┐ рдореИрд▓реЗ рд╕реБрд░рдХреНрд╖рд╛рдХреЛ рд╕рдВрд╕рд╛рд░рдмрд╛рдЯ рд╕рд░реНрддрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрдВ рднрдиреЗ рдо рддрдкрд╛рдЗрдБрд╕рдБрдЧ рдкрд╣рд┐рд▓реЗ рдиреИ рдорд╛рдлреА рдЪрд╛рд╣рдиреНрдЫреБ рдЬреБрди рддрдкрд╛рдЗрдБрдХреЛ рдкреНрд░рдЪрд▓рдирдорд╛ рдЫреИрдиред

рдпреЛ рдпрд╕реНрддреЛ рднрдпреЛ рдХрд┐ рдХрд░рд┐рдм рдЫ рдорд╣рд┐рдирд╛ рдЕрдШрд┐ рдореИрд▓реЗ рдПрдЙрдЯрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рднреЗрдЯреЗрдВред рдкрдмреНрд▓рд┐рдХрдХреЛ рдЕрд░реНрде рд╣реЛ рдХрд┐ рддреНрдпрд╣рд╛рдБ рдирд╛рдорд╕реНрдерд╛рдирд╣рд░реВрдХреЛ nth рд╕рдВрдЦреНрдпрд╛ рдЫ; рдпреА рдиреЗрдорд╕реНрдкреЗрд╕рд╣рд░реВрдорд╛ рддреНрдпрд╣рд╛рдБ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдиреЗрдорд╕реНрдкреЗрд╕рдорд╛ рдЕрд▓рдЧ рдЫрдиреНред рдпреА рд╕рдмреИ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рд╡рд┐рднрд┐рдиреНрди рдХрдореНрдкрдиреАрд╣рд░реВрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫрдиреНред рдЦреИрд░, рдпреЛ рдХреНрд▓рд╕реНрдЯрд░ рдПрдХ CDN рдХреЛ рд░реВрдк рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреБ рдкрд░реНрдЫ рдХрд┐ рдорд╛рдирд┐рдПрдХреЛ рдерд┐рдпреЛред рддреНрдпреЛ рд╣реЛ, рддрд┐рдиреАрд╣рд░реВрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХреНрд▓рд╕реНрдЯрд░ рджрд┐рдиреНрдЫрдиреН, рддрд┐рдиреАрд╣рд░реВрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рддреНрдпрд╣рд╛рдБ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рджрд┐рдиреНрдЫрдиреН, рддрдкрд╛рдИрдВ рддреНрдпрд╣рд╛рдБ рдЖрдлреНрдиреЛ рдиреЗрдорд╕реНрдкреЗрд╕рдорд╛ рдЬрд╛рдиреБрд╣реБрдиреНрдЫ, рддрдкрд╛рдИрдВрдХреЛ рдореЛрд░реНрдЪрд╛рд╣рд░реВ рддреИрдирд╛рдд рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рдореЗрд░реЛ рдЕрдШрд┐рд▓реНрд▓реЛ рдХрдореНрдкрдиреАрд▓реЗ рдпрд╕реНрддреЛ рд╕реЗрд╡рд╛ рдмреЗрдЪреНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдпреЛред рд░ рдорд▓рд╛рдИ рдпреЛ рд╕рдорд╛рдзрд╛рди рдЙрдкрдпреБрдХреНрдд рдЫ рд╡рд╛ рдЫреИрди рднрдиреЗрд░ рд╣реЗрд░реНрди рдХреНрд▓рд╕реНрдЯрд░ рдкреЛрдХ рдЧрд░реНрди рднрдирд┐рдпреЛред

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

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

рдореИрд▓реЗ рдпреЛ рдХрд╕рд░реА рдЧрд░реЗрдВ рд░ рдпрд╕рдмрд╛рдЯ рдЖрдлреВрд▓рд╛рдИ рдХрд╕рд░реА рдЬреЛрдЧрд╛рдЙрдиреЗ рднрдиреЗрд░ рдо рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рд╕рд╣рд┐рдд рдмрддрд╛рдЙрдиреЗрдЫреБред

рддрд░ рдкрд╣рд┐рд▓реЗ, рдорд▓рд╛рдИ рдЖрдлреНрдиреЛ рдкрд░рд┐рдЪрдп рджрд┐рдиреБрд╣реЛрд╕реНред рдореЗрд░реЛ рдирд╛рдо рдкрд╛рд╡реЗрд▓ Selivanov рд╣реЛред рдо рд╕рд╛рдЙрдердмреНрд░рд┐рдЬрдорд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ рд╣реБрдБред рдо Kubernetes, DevOps рд░ рд╕рдмреИ рдкреНрд░рдХрд╛рд░рдХрд╛ рдлреИрдВрд╕реА рдЪреАрдЬрд╣рд░реВ рдмреБрдЭреНрдЫреБред рд╕рд╛рдЙрдердмреНрд░рд┐рдЬ рдЗрдиреНрдЬрд┐рдирд┐рдпрд░рд╣рд░реВ рд░ рдо рдпреЛ рд╕рдмреИ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрджреИрдЫреМрдВ, рд░ рдо рдкрд░рд╛рдорд░реНрд╢ рдЧрд░реНрджреИрдЫреБред

рд╣рд╛рдореНрд░рд╛ рдореБрдЦреНрдп рдЧрддрд┐рд╡рд┐рдзрд┐рд╣рд░реВрдХрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд, рд╣рд╛рдореАрд▓реЗ рд╣рд╛рд▓реИ рд╕реНрд▓рд░реНрдореНрд╕ рдирд╛рдордХ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВ рд╕реБрд░реБ рдЧрд░реЗрдХрд╛ рдЫреМрдВред рд╣рд╛рдореА Kubernetes рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рд╣рд╛рдореНрд░реЛ рдХреНрд╖рдорддрд╛рд▓рд╛рдИ рдЬрдирддрд╛рдорд╛ рдЕрд▓рд┐рдХрддрд┐ рд▓реНрдпрд╛рдЙрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджреИрдЫреМрдВ, рдЕрд░реВ рдорд╛рдирд┐рд╕рд╣рд░реВрд▓рд╛рдИ рдкрдирд┐ K8s рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рд╕рд┐рдХрд╛рдЙрдиред

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

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

рддреНрдпрд╣рд╛рдБ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдкрдорд╛ рддреАрди рдмреБрдБрджрд╛рд╣рд░реВ рдЫрдиреН рдЬреБрди рдо рдЖрдЬ рдХреБрд░рд╛ рдЧрд░реНрдиреЗрдЫреБ:

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

рдЕрд░реНрдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдХреБрд░рд╛ рдЬреБрди рдо рдЙрд▓реНрд▓реЗрдЦ рдЧрд░реНрдиреЗрдЫреБ рддреНрдпреЛ рд╣реЛ рдХрд┐ рдореИрд▓реЗ рдпреА рд╕рдмреИ рдкрд░реАрдХреНрд╖рдг рдЧрд░реЗрдВ, рдЬрд╕рдорд╛ рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдкрдорд╛ рднрдиреНрди рд╕рдХреНрдЫреБ рдХрд┐ рдпреЛ рд╕рдмреИ рдХрд╛рдо рдЧрд░реНрджрдЫред

рд╣рд╛рдореА Kubespray рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рд╕реНрдерд╛рдкрдирд╛рд▓рд╛рдИ рдЖрдзрд╛рд░рдХреЛ рд░реВрдкрдорд╛ рд▓рд┐рдиреНрдЫреМрдВред рдпрджрд┐ рдХрд╕реИрд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫреИрди рднрдиреЗ, рдпреЛ рд╡рд╛рд╕реНрддрд╡рдорд╛ Ansible рдХреЛ рд▓рд╛рдЧрд┐ рднреВрдорд┐рдХрд╛рд╣рд░реВрдХреЛ рд╕реЗрдЯ рд╣реЛред рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рд╣рд╛рдореНрд░реЛ рдХрд╛рдордорд╛ рдирд┐рд░рдиреНрддрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВред рд░рд╛рдореНрд░реЛ рдХреБрд░рд╛ рдпреЛ рд╣реЛ рдХрд┐ рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдХрд╣реАрдВ рдкрдирд┐ рд░реЛрд▓ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ - рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдлрд▓рд╛рдордХреЛ рдЯреБрдХреНрд░рд╛рд╣рд░реВрдорд╛ рд╡рд╛ рдХрддреИ рдХреНрд▓рд╛рдЙрдбрдорд╛ рд░реЛрд▓ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдПрдХ рд╕реНрдерд╛рдкрдирд╛ рд╡рд┐рдзрд┐ рд╕рдмреИ рдХреБрд░рд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╕рд┐рджреНрдзрд╛рдиреНрддрдорд╛ рдХрд╛рдо рдЧрд░реНрджрдЫред

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

Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдкреНрд╡рд╛рд▓рд╣рд░реВ рдлрд┐рдХреНрд╕ рдЧрд░реНрджреИред DevOpsConf рдмрд╛рдЯ рд░рд┐рдкреЛрд░реНрдЯ рд░ рдЯреНрд░рд╛рдиреНрд╕рдХреНрд░рд┐рдкреНрдЯ

рдореИрд▓реЗ рд╡рд╛рдЪрд╛ рдЧрд░реЗрдВ рдХрд┐ рд╣рд╛рдореАрд▓реЗ рдЧрд░реНрдиреЗ рдкрд╣рд┐рд▓реЛ рдХреБрд░рд╛ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдкреНрд░рд╢рд╛рд╕рдХ рдЕрдзрд┐рдХрд╛рд░рд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗ рд╣реЛред рд╣рд╛рдореАрд▓рд╛рдИ рд╡рд┐рд╢реЗрд╖ рд░реВрдкрдорд╛ рддрдпрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдкреЛрдб рдЪрд╛рд╣рд┐рдиреНрдЫ рдЬрд╕рд▓реЗ Kubernetes рдХреНрд▓рд╕реНрдЯрд░рд▓рд╛рдИ рддреЛрдбреНрдиреЗрдЫред рд╣рд╛рдореАрд▓реЗ рдХреЗ рдЧрд░реНрдиреБ рдкрд░реНрдЫ рдпрд╕рд▓рд╛рдИ Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рд▓рд╛рдЧреВ рдЧрд░реНрдиреБ рд╣реЛред

kubectl apply -f pod.yaml

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

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

рд░ рдЕрдм рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрдпрд╛рд░ рдкреЛрдб рдмрд╛рд░реЗрдорд╛ред рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рдХреБрдиреИ рдкрдирд┐ рдЫрд╡рд┐рдорд╛ рдЪрд▓рд╛рдЙрдБрдЫреМрдВред рдЙрджрд╛рд╣рд░рдгрдХреЛ рд░реВрдкрдорд╛ рдбреЗрдмрд┐рдпрди: рдЬреЗрд╕реА рд▓рд┐рдиреБрд╣реЛрд╕реНред

рд╣рд╛рдореАрд╕рдБрдЧ рдпреЛ рдЪреАрдЬ рдЫ:

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

рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рднрдиреЗрдХреЛ рдХреЗ рд╣реЛ? Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдорд╛рд╕реНрдЯрд░рд╣рд░реВ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рджрд╛рдЧ рднрдирд┐рдиреЗ рдЪреАрдЬрд▓реЗ рдЪрд┐рдиреНрд╣ рд▓рдЧрд╛рдЗрдиреНрдЫред рд░ рдпрд╕ "рд╕рдВрдХреНрд░рдордг" рдХреЛ рд╕рд╛рд░ рдпреЛ рд╣реЛ рдХрд┐ рдпрд╕рд▓реЗ рдкреЛрдбрд╣рд░реВ рдорд╛рд╕реНрдЯрд░ рдиреЛрдбрд╣рд░реВрдорд╛ рдЕрд╕рд╛рдЗрди рдЧрд░реНрди рд╕рдХрд┐рдБрджреИрдиред рддрд░ рдХреБрдиреИ рдкрдирд┐ рдкреЛрдбрдорд╛ рдпреЛ "рд╕рдВрдХреНрд░рдордг" рдХреЛ рд▓рд╛рдЧреА рд╕рд╣рд┐рд╖реНрдгреБ рдЫ рднрдиреЗрд░ рд╕рдВрдХреЗрдд рдЧрд░реНрди рдХрд╕реИрд▓реЗ рдЪрд┐рдиреНрддрд╛ рдЧрд░реНрджреИрдиред рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдЦрдгреНрдбрд▓реЗ рдХреЗрд╡рд▓ рднрдиреНрдЫ рдХрд┐ рдпрджрд┐ рдХреБрдиреИ рдиреЛрдбрдорд╛ NoSchedule рдЫ рднрдиреЗ, рд╣рд╛рдореНрд░реЛ рдиреЛрдб рдпрд╕реНрддреЛ рд╕рдВрдХреНрд░рдордгрд▓рд╛рдИ рд╕рд╣рдирд╢реАрд▓ рдЫ - рд░ рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рд╕рдорд╕реНрдпрд╛ рдЫреИрдиред

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

рдпреА рджреБрдИ рдЦрдгреНрдбрд╣рд░реВ рд▓рд┐рдПрд░ рдЙрдиреА рдЕрд╡рд╢реНрдп рдорд╛рд╕реНрдЯрд░рдХрд╣рд╛рдБ рдЖрдЙрдиреЗрдЫрдиреНред рд░ рдЙрд╕рд▓рд╛рдИ рддреНрдпрд╣рд╛рдБ рдмрд╕реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдЗрдиреЗрдЫред

рддрд░ рдЧреБрд░реБрдХрд╣рд╛рдБ рдЖрдПрд░ рдорд╛рддреНрд░ рдкреБрдЧреНрджреИрдиред рдпрд╕рд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдХреЗрд╣реА рджрд┐рдиреЗ рдЫреИрдиред рддреНрдпрд╕реЛрднрдП рд╣рд╛рдореАрд╕рдБрдЧ рдпреА рджреБрдИ рдЪреАрдЬрд╣рд░реВ рдЫрдиреН:

hostNetwork: true 
hostPID: true 

рд╣рд╛рдореАрд▓реЗ рд╕реБрд░реБ рдЧрд░реНрдиреЗ рд╣рд╛рдореНрд░реЛ рдкреЛрдб рдХрд░реНрдиреЗрд▓ рдиреЗрдорд╕реНрдкреЗрд╕, рдиреЗрдЯрд╡рд░реНрдХ рдиреЗрдорд╕реНрдкреЗрд╕ рд░ PID рдиреЗрдорд╕реНрдкреЗрд╕рдорд╛ рд░рд╣рдиреЗрдЫ рднрдиреЗрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдЫреМрдВред рдорд╛рд╕реНрдЯрд░рдорд╛ рдкреЛрдб рд╕реБрд░реБ рднрдПрдкрдЫрд┐, рдпрд╕рд▓реЗ рдпрд╕ рдиреЛрдбрдХреЛ рд╕рдмреИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ, рдкреНрд░рддреНрдпрдХреНрд╖ рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВ рд╣реЗрд░реНрди, рд╕рдмреИ рдЯреНрд░рд╛рдлрд┐рдХрд╣рд░реВ рд╕реБрдиреНрди рд░ рд╕рдмреИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВрдХреЛ PID рд╣реЗрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрдиреЗрдЫред

рддреНрдпрд╕рдкрдЫрд┐ рдпреЛ рд╕рд╛рдиреЛ рдХреБрд░рд╛рдХреЛ рдХреБрд░рд╛ рд╣реЛред etcd рд▓рд┐рдиреБрд╣реЛрд╕реН рд░ рддрдкрд╛рдИрд▓рд╛рдИ рдХреЗ рдЪрд╛рд╣рд╛рдиреБрд╣реБрдиреНрдЫ рдкрдвреНрдиреБрд╣реЛрд╕реНред

рд╕рдмреИрднрдиреНрджрд╛ рдЪрд╛рдЦрд▓рд╛рдЧреНрджреЛ рдХреБрд░рд╛ рдпреЛ Kubernetes рд╕реБрд╡рд┐рдзрд╛ рд╣реЛ, рдЬреБрди рддреНрдпрд╣рд╛рдБ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рдЫред

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

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

рдо рдпрд╕рд▓рд╛рдИ рдлреЗрд░рд┐ рджреЛрд╣реЛрд░реНрдпрд╛рдЙрдиреЗрдЫреБред рд╣рд╛рдореАрд▓реЗ рдкреЛрдбрд▓рд╛рдИ рдорд╛рд╕реНрдЯрд░рдорд╛ рдЖрдЙрди, hostNetwork рд░ hostPID рддреНрдпрд╣рд╛рдБ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рднрдиреНрдпреМрдВ - рд░ рдпреЛ рдкреЛрдб рднрд┐рддреНрд░ рдорд╛рд╕реНрдЯрд░рдХреЛ рд╕рдореНрдкреВрд░реНрдг рд░реВрдЯ рдорд╛рдЙрдиреНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рддрдкрд╛рдИрдВрд▓реЗ рдмреБрдЭреНрдиреБрднрдпреЛ рдХрд┐ рдбреЗрдмрд┐рдпрдирдорд╛ рд╣рд╛рдореАрд╕рдБрдЧ рдмреНрдпрд╛рд╕ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдЫ, рд░ рдпреЛ рдмреНрдпрд╛рд╕ рд░реВрдЯ рдЕрдиреНрддрд░реНрдЧрдд рдЪрд▓реНрдЫред рддреНрдпреЛ рд╣реЛ, рд╣рд╛рдореАрд▓реЗ рднрд░реНрдЦрд░реИ рдорд╛рд╕реНрдЯрд░рдорд╛ рд░реВрдЯ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдпреМрдВ, рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдХреБрдиреИ рдЕрдзрд┐рдХрд╛рд░ рдмрд┐рдирд╛ред

рддреНрдпрд╕рдкрдЫрд┐ рд╕рдореНрдкреВрд░реНрдг рдХрд╛рд░реНрдп рдЙрдк-рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ /host /etc/kubernetes/pki рдорд╛ рдЬрд╛рдиреБ рд╣реЛ, рдпрджрд┐ рдо рдЧрд▓рдд рдЫреИрди рднрдиреЗ, рддреНрдпрд╣рд╛рдБ рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рд╕рдмреИ рдорд╛рд╕реНрдЯрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВ рдЙрдард╛рдЙрдиреБрд╣реЛрд╕реН рд░, рддрджрдиреБрд╕рд╛рд░, рдХреНрд▓рд╕реНрдЯрд░ рдкреНрд░рд╢рд╛рд╕рдХ рдмрдиреНрдиреБрд╣реЛрд╕реНред

рдпрджрд┐ рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдпрд╕ рддрд░рд┐рдХрд╛рд▓реЗ рд╣реЗрд░реНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдпреА рдкреЛрдбрд╣рд░реВрдорд╛ рд╕рдмреИрднрдиреНрджрд╛ рдЦрддрд░рдирд╛рдХ рдЕрдзрд┐рдХрд╛рд░рд╣рд░реВ рд╣реБрдиреН - рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╕рдБрдЧ рдХреБрди рдЕрдзрд┐рдХрд╛рд░ рдЫ рднрдиреНрдиреЗ рдХреБрд░рд╛рдХреЛ рдкрд░реНрд╡рд╛рд╣ рдирдЧрд░реА:
Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдкреНрд╡рд╛рд▓рд╣рд░реВ рдлрд┐рдХреНрд╕ рдЧрд░реНрджреИред DevOpsConf рдмрд╛рдЯ рд░рд┐рдкреЛрд░реНрдЯ рд░ рдЯреНрд░рд╛рдиреНрд╕рдХреНрд░рд┐рдкреНрдЯ

рдпрджрд┐ рдорд╕рдБрдЧ рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рдХреЗрд╣реА рдиреЗрдорд╕реНрдкреЗрд╕рдорд╛ рдкреЛрдб рдЪрд▓рд╛рдЙрдиреЗ рдЕрдзрд┐рдХрд╛рд░ рдЫ рднрдиреЗ, рдпрд╕ рдкреЛрдбрдорд╛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рдпреА рдЕрдзрд┐рдХрд╛рд░рд╣рд░реВ рдЫрдиреНред рдо рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдкреЛрдбрд╣рд░реВ рдЪрд▓рд╛рдЙрди рд╕рдХреНрдЫреБ, рд░ рдпреА рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рд╕рдмреИ рдЕрдзрд┐рдХрд╛рд░рд╣рд░реВ рд╣реБрдиреН, рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдкрдорд╛ рдиреЛрдбрдорд╛ рд░реВрдЯред

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

рд╣реЛрд╕реНрдЯ рдкрде рднреЛрд▓реНрдпреБрдо рд╣реЛ, рдореЗрд░реЛ рд╡рд┐рдЪрд╛рд░рдорд╛, Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдмрд╛рдЯ рдЗрдЪреНрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗ рд╕рдмреИрднрдиреНрджрд╛ рдЫрд┐рдЯреЛ рддрд░рд┐рдХрд╛ рд╣реЛред

рддрд░ рдпреЛ рд╕рдмреИ рд╕рдВрдЧ рдХреЗ рдЧрд░реНрдиреЗ?

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

рдпреЛ рдПрдХ yaml рд╡рд╕реНрддреБ рд╣реЛ - рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ - рдЬрд╕рд▓реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдкрдорд╛ рдкреЛрдбрд╣рд░реВрдХреЛ рд╡рд┐рд╡рд░рдгрдорд╛ рд╕реБрд░рдХреНрд╖рд╛ рдкрдХреНрд╖рд╣рд░реВрд▓рд╛рдИ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрджрдЫред рддреНрдпреЛ рд╣реЛ, рд╡рд╛рд╕реНрддрд╡рдорд╛, рдпрд╕рд▓реЗ рдХреБрдиреИ рдкрдирд┐ hostNetwork, hostPID, рдХреЗрд╣реА рднреЛрд▓реНрдпреБрдо рдкреНрд░рдХрд╛рд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдЕрдзрд┐рдХрд╛рд░рд╣рд░реВ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрджрдЫ рдЬреБрди рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрдорд╛ рдкреЛрдбрд╣рд░реВрдорд╛ рдЫрдиреНред рдкреЛрдб рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐рдХреЛ рд╕рд╣рдпреЛрдЧрдорд╛, рдпреЛ рд╕рдмреИ рд╡рд░реНрдгрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

Pod рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐рдХреЛ рдмрд╛рд░реЗрдорд╛ рд╕рдмреИрднрдиреНрджрд╛ рдЪрд╛рдЦрд▓рд╛рдЧреНрджреЛ рдХреБрд░рд╛ рдпреЛ рд╣реЛ рдХрд┐ Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдорд╛, рд╕рдмреИ PSP рд╕реНрдерд╛рдкрдирд╛рдХрд░реНрддрд╛рд╣рд░реВ рдХреБрдиреИ рдкрдирд┐ рддрд░рд┐рдХрд╛рд▓реЗ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдЫреИрди, рддрд┐рдиреАрд╣рд░реВ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рдЕрд╕рдХреНрд╖рдо рд╣реБрдиреНрдЫрдиреНред рдкреЛрдб рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐ рдкреНрд░рд╡реЗрд╢ рдкреНрд▓рдЧрдЗрди рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕рдХреНрд╖рдо рдЧрд░рд┐рдПрдХреЛ рдЫред

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

рд░ рд╣рд╛рдореАрд╕рдБрдЧ рд╕рдмреИ рдареАрдХ рдЫ рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫред рд░ рд╣рд╛рдореНрд░реЛ Kubernetes рдХреНрд▓рд╕реНрдЯрд░ рджреБрдИ рдорд┐рдиреЗрдЯрдорд╛ рд╣реНрдпрд╛рдХ рд╣реБрди рд╕рдХреНрджреИрдиред

рд╕рдорд╕реНрдпрд╛ рдЫред рд╕рдореНрднрд╡рддрдГ, рдпрджрд┐ рддрдкрд╛рдЗрдБрд╕рдБрдЧ Kubernetes рдХреНрд▓рд╕реНрдЯрд░ рдЫ рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдЗрдБрдХреЛ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдирд┐рдЧрд░рд╛рдиреА рд╕реНрдерд╛рдкрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫред рдпрджрд┐ рддрдкрд╛рдИрдВрдХреЛ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдирд┐рдЧрд░рд╛рдиреА рдЫ рднрдиреЗ, рдпрд╕рд▓рд╛рдИ рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рднрдирд┐рдиреЗрдЫ рднрдиреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдЧрд░реНрди рдо рдпрд╣рд╛рдБрд╕рдореНрдо рдЬрд╛рдиреНрдЫреБред

рдо рддрдкрд╛рдИрд▓рд╛рдИ рдХреЗ рднрдиреНрди рдЦреЛрдЬреНрджреИ рдЫреБ рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдЕрдкрд░реЗрдЯрд░ рд░ рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рджреБрдмреИ рдХреЛ рд▓рд╛рдЧреА рдпрд╕рдХреЛ рд╢реБрджреНрдз рд░реВрдк рдорд╛ рдбреЗрд▓рд┐рднрд░ рдХреЛ рд▓рд╛рдЧреА рдорд╛рдиреНрдп рд╣реБрдиреЗрдЫред рдкреНрд░рд╢реНрди рдпреЛ рд╣реЛ рдХрд┐ рдпрджрд┐ рдореИрд▓реЗ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдпрддрд┐ рдЪрд╛рдБрдбреЛ рдкреНрд░рд╢рд╛рд╕рдХ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрджрд┐рди рднрдиреЗ, рдпрд╕рдХреЛ рдорддрд▓рдм рдпреЛ рд╣реЛ рдХрд┐ рдореИрд▓реЗ рдЕрдЭ рдзреЗрд░реИ рд╣реЗрд░реНрдиреБ рдкрд░реНрдЫред рд░ рдо рддрдкрд╛рдИрдХреЛ рдирд┐рдЧрд░рд╛рдиреАрдХреЛ рдорджреНрджрддрд▓реЗ рдЦреЛрдЬреНрди рд╕рдХреНрдЫреБред

рд╕рдореНрднрд╡рддрдГ рд╕рдмреИрд▓реЗ Habr├й рдорд╛ рдЙрд╣реА рд▓реЗрдЦрд╣рд░реВ рдкрдвреНрдЫрдиреН, рд░ рдЕрдиреБрдЧрдорди рдирд┐рдЧрд░рд╛рдиреА рдирд╛рдо рд╕реНрдерд╛рдирдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рдЫред рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ рд╕рдмреИрдХрд╛ рд▓рд╛рдЧрд┐ рд▓рдЧрднрдЧ рд╕рдорд╛рди рднрдирд┐рдиреНрдЫред рдо рдЕрдиреБрдорд╛рди рдЧрд░реНрджреИрдЫреБ рдХрд┐ рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рд╣реЗрд▓реНрдо рд╕реНрдерд┐рд░/рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рддрдкрд╛рдИрдВ рд▓рдЧрднрдЧ рдЙрд╣реА рдирд╛рдорд╣рд░реВрдХреЛ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реБрдиреБрд╣реБрдиреЗрдЫред рд░ рд╕рдореНрднрд╡рддрдГ рдореИрд▓реЗ рддрдкрд╛рдЗрдБрдХреЛ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ DNS рдирд╛рдо рдЕрдиреБрдорд╛рди рдЧрд░реНрдиреБрдкрд░реНрджреИрдиред рдХрд┐рдирднрдиреЗ рдпреЛ рдорд╛рдирдХ рд╣реЛред

Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдкреНрд╡рд╛рд▓рд╣рд░реВ рдлрд┐рдХреНрд╕ рдЧрд░реНрджреИред DevOpsConf рдмрд╛рдЯ рд░рд┐рдкреЛрд░реНрдЯ рд░ рдЯреНрд░рд╛рдиреНрд╕рдХреНрд░рд┐рдкреНрдЯ

рдЕрд░реНрдХреЛ рд╣рд╛рдореАрд╕рдБрдЧ рдирд┐рд╢реНрдЪрд┐рдд devns рдЫ, рдЬрд╕рдорд╛ рддрдкрд╛рдЗрдБ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреЛрдб рдЪрд▓рд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рд░ рддреНрдпрд╕рдкрдЫрд┐ рдпреЛ рдкреЛрдбрдмрд╛рдЯ рдпреЛ рдХреЗрд╣рд┐ рдЧрд░реНрди рдзреЗрд░реИ рд╕рдЬрд┐рд▓реЛ рдЫ:

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

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

рд╕рд╛рдзрд╛рд░рдг рдЙрджрд╛рд╣рд░рдгрдХреЛ рд░реВрдкрдорд╛:

kube_pod_container_info{namespace=тАЬkube-systemтАЭ,pod=тАЭkube-apiserver-k8s- 1тА│,рдХрдиреНрдЯреЗрдирд░=тАЭkube-apiserverтАЭ,рдЫрд╡рд┐=

"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

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

рд░ рд╕рдмреИрднрдиреНрджрд╛ рдЪрд╛рдЦрд▓рд╛рдЧреНрджреЛ рдХреБрд░рд╛ рдпреЛ рд╣реЛ рдХрд┐ kube-state-metrics рдкрд╣реБрдБрдЪ рдЧрд░реНрдиреБрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд, рддрдкрд╛рдИрдВ рд╕рдЬрд┐рд▓реИрд╕рдБрдЧ рдкреНрд░реЛрдореЗрдерд┐рдпрд╕рд▓рд╛рдИ рд╕реАрдзрд╛ рдкрд╣реБрдБрдЪ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рддрдкрд╛рдИрдВ рддреНрдпрд╣рд╛рдБрдмрд╛рдЯ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рд╕рдЩреНрдХрд▓рди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рддрдкрд╛рдИрдВ рддреНрдпрд╣рд╛рдБрдмрд╛рдЯ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкрдирд┐ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рд╕реИрджреНрдзрд╛рдиреНрддрд┐рдХ рд░реВрдкрдорд╛ рдкрдирд┐, рддрдкрд╛рдЗрдБ рдкреНрд░реЛрдореЗрдерд┐рдпрд╕рдХреЛ рдХреНрд▓рд╕реНрдЯрд░рдмрд╛рдЯ рдпрд╕реНрддреЛ рдкреНрд░рд╢реНрди рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдЬрд╕рд▓реЗ рдпрд╕рд▓рд╛рдИ рдмрдиреНрдж рдЧрд░реНрдиреЗрдЫред рд░ рддрдкрд╛рдИрдВрдХреЛ рдирд┐рдЧрд░рд╛рдиреАрд▓реЗ рдХреНрд▓рд╕реНрдЯрд░рдмрд╛рдЯ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдХрд╛рдо рдЧрд░реНрди рдмрдиреНрдж рдЧрд░реНрдиреЗрдЫред

рд░ рдпрд╣рд╛рдБ рдкреНрд░рд╢реНрди рдЙрдареНрдЫ рдХрд┐ рдХреБрдиреИ рдмрд╛рд╣реНрдп рдирд┐рдЧрд░рд╛рдиреАрд▓реЗ рддрдкрд╛рдЗрдБрдХреЛ рдЕрдиреБрдЧрдордирд▓рд╛рдИ рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реНрджрдЫред рдореИрд▓реЗ рднрд░реНрдЦрд░реИ рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдЖрдлреНрдиреЛ рд▓рд╛рдЧрд┐ рдХреБрдиреИ рдкрд░рд┐рдгрд╛рдо рдмрд┐рдирд╛ рдХрд╛рдо рдЧрд░реНрдиреЗ рдореМрдХрд╛ рдкрд╛рдПрдБред рддрдкрд╛рдИрд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫреИрди рдХрд┐ рдо рддреНрдпрд╣рд╛рдБ рдХрд╛рдо рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫреБ, рдХрд┐рдирдХрд┐ рддреНрдпрд╣рд╛рдБ рдЕрдм рдХреБрдиреИ рдирд┐рдЧрд░рд╛рдиреА рдЫреИрдиред

PSP рдХреЛ рд╕рд╛рде рдЬрд╕реНрддреИ, рдпреЛ рд╕рдорд╕реНрдпрд╛ рдЬрд╕реНрддреЛ рд▓рд╛рдЧреНрдЫ рдХрд┐ рдпреА рд╕рдмреИ рдлреИрдВрд╕реА рдкреНрд░рд╡рд┐рдзрд┐рд╣рд░реВ - Kubernetes, Prometheus - рддрд┐рдиреАрд╣рд░реВ рдХрд╛рдо рдЧрд░реНрджреИрдирдиреН рд░ рдкреНрд╡рд╛рд▓рд╣рд░реВрд▓реЗ рднрд░рд┐рдПрдХрд╛ рдЫрдиреНред рд╕рд╛рдБрдЪреНрдЪреИ рд╣реЛрдЗрдиред

рддреНрдпрд╣рд╛рдБ рдпрд╕реНрддреЛ рдЪреАрдЬ рдЫ - рдиреЗрдЯрд╡рд░реНрдХ рдиреАрддрд┐.

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

рдпрджрд┐ рддрдкрд╛рдЗрдБ рддрдкрд╛рдЗрдБрдХреЛ рд╕реБрд░рдХреНрд╖рд╛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрд╣рд░реБ рд▓рд╛рдИ рддрдкрд╛рдЗрдБрдХреЛ Kubernetes рдХреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рддрдкрд╛рдЗрдБ рдПрдХ рдзреЗрд░реИ рд╕рдЬрд┐рд▓реЛ рд░ рд╕рд░рд▓ рдлрд╛рдпрд░рд╡рд╛рд▓ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд░ рддреНрдпреЛ рдорд╛ рдПрдХ рдзреЗрд░реИ рджрд╛рдиреЗрджрд╛рд░ рд▓рд╛рдИ рдмрддрд╛рдЙрдиреБрднрдПрдХреЛ рдЫреИрди рднрдиреЗ рдкрдирд┐ред рдпрджрд┐ рдЙрдиреАрд╣рд░реВрд▓рд╛рдИ рдпреЛ рдЕрдЭреИ рдерд╛рд╣рд╛ рдЫреИрди рд░ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдкрд░реЗрд╢рд╛рди рдЧрд░реНрджреИрдирдиреН: "рдареАрдХ рдЫ, рдорд▓рд╛рдИ рджрд┐рдиреБрд╣реЛрд╕реН, рдорд▓рд╛рдИ рджрд┐рдиреБрд╣реЛрд╕реН ..." рддреНрдпрд╕рдкрдЫрд┐ рдХреБрдиреИ рдкрдирд┐ рдЕрд╡рд╕реНрдерд╛рдорд╛, рддрдкрд╛рдЗрдБрд▓рд╛рдИ рддрдкрд╛рдЗрдБрдХреЛ рдХреНрд▓рд╕реНрдЯрд░рдмрд╛рдЯ рддрд╛рдиреНрди рд╕рдХрд┐рдиреЗ рдХреЗрд╣рд┐ рд╕реЗрд╡рд╛ рд╕реНрдерд╛рдирд╣рд░реВрдорд╛ рдкрд╣реБрдБрдЪ рд░реЛрдХреНрди рдиреЗрдЯрд╡рд░реНрдХ рдиреАрддрд┐ рдЪрд╛рд╣рд┐рдиреНрдЫред рдХреБрдиреИ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдмрд┐рдирд╛ред

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

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

рдореИрд▓реЗ рдХреЗ рдЧрд░реНрдиреБ рдкрд░реНрдЫ?

рддрдкрд╛рдЗрдБ рддрдкрд╛рдЗрдБрдХреЛ Kubernetes рдХреНрд▓рд╕реНрдЯрд░ рдорд╛ рд░рд╣реЗрдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдорд╛рдзрд╛рди рдкреБрди: рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдпрд╕рд▓рд╛рдИ рдХреЗрд╣рд┐ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╕рдВрдЧ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдЙрд╣реА рдХреНрдпрд╛рд▓рд┐рдХреЛрдХреЛ рд▓рд╛рдЧрд┐, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ред рддрд░ рдо рддреБрд░реБрдиреНрддреИ рднрдиреНрди рдЪрд╛рд╣рдиреНрдЫреБ рдХрд┐ Kubernetes рдХрд╛рдо рдЧрд░реНрдиреЗ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдорд╛рдзрд╛рди рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреЗ рдХрд╛рд░реНрдп рдПрдХрджрдо рдЧреИрд░-рддреБрдЪреНрдЫ рдЫред рдореИрд▓реЗ рдпрд╕рд▓рд╛рдИ рджреБрдИ рдкрдЯрдХ рд╣рд▓ рдЧрд░реЗрдВ (рджреБрдмреИ рдкрдЯрдХ, рддрдерд╛рдкрд┐, рд╕реИрджреНрдзрд╛рдиреНрддрд┐рдХ рд░реВрдкрдорд╛), рддрд░ рд╣рд╛рдореАрд▓реЗ рдпрд╕рд▓рд╛рдИ рд╕реНрд▓рд░реНрдореНрд╕рдорд╛ рдХрд╕рд░реА рдЧрд░реНрдиреЗ рднрдиреЗрд░ рдкрдирд┐ рджреЗрдЦрд╛рдпреМрдВред рд╣рд╛рдореНрд░рд╛ рд╡рд┐рджреНрдпрд╛рд░реНрдереАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореАрд▓реЗ Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдорд╛рдзрд╛рди рдХрд╕рд░реА рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреЗ рднрдиреЗрд░ рджреЗрдЦрд╛рдпреМрдВред рд╕рд┐рджреНрдзрд╛рдиреНрддрдорд╛, рддрдкрд╛рдИрдВ рдЙрддреНрдкрд╛рджрди рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдХреБрдиреИ рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдЫреИрди рднрдиреЗрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрди рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рддрд░ рддрдкрд╛рдИрдВ рд╢рд╛рдпрдж рд╕рдлрд▓ рд╣реБрдиреБрд╣реБрдиреЗрдЫреИрдиред

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

рдЬрдм рддрдкрд╛рдЗрдБ рдирдпрд╛рдБ рдХреНрд▓рд╕реНрдЯрд░ рдЙрдард╛рдЙрдиреБрд╣реБрдиреНрдЫ, рдПрдХреИ рд╕рдордпрдорд╛ рдлреНрд▓реНрдпрд╛рдирд▓рдХреЛ рд╕рдЯреНрдЯрд╛ рдХреНрдпрд╛рд▓рд┐рдХреЛ рдШреБрд╕рд╛рдЙрдиреБрд╣реЛрд╕реНред

рдпрджрд┐ рддрдкрд╛рдЗрдБрдХреЛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдПрдХ рд╕рдп рд╡рд░реНрд╖рдХреЛ рд▓рд╛рдЧрд┐ рдЬрд╛рд░реА рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ рддрдкрд╛рдЗрдБ рдХреНрд▓рд╕реНрдЯрд░ рдкреБрди: рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЬрд╛рдБрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ рдХреЗ рдЧрд░реНрдиреЗ? рддреНрдпрд╣рд╛рдБ Kube-RBAC-Proxy рдЬрд╕реНрддреЛ рдЪреАрдЬ рдЫред рдпреЛ рдПрдХ рдзреЗрд░реИ рд░рд╛рдореНрд░реЛ рд╡рд┐рдХрд╛рд╕ рд╣реЛ, рдпрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рдХреБрдиреИ рдкрдирд┐ рдкреЛрдбрдорд╛ рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдиреНрдЯреЗрдирд░рдХреЛ рд░реВрдкрдорд╛ рдЗрдореНрдмреЗрдб рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рд░ рдпрд╕рд▓реЗ рд╡рд╛рд╕реНрддрд╡рдорд╛ Kubernetes рдХреЛ RBAC рдорд╛рд░реНрдлрдд рдпреЛ рдкреЛрдбрдорд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдердкреНрдЫред

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

рдЕрд░реНрдХреЛ рдПрдЙрдЯрд╛ рд╕рд╛рдиреЛ рд╕рдорд╕реНрдпрд╛ рдЫред рдкреНрд░реЛрдореЗрдерд┐рдпрд╕рд▓реЗ рдЖрдлреНрдиреЛ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХрд╕реИрд▓рд╛рдИ рдорд╛рддреНрд░ рд╣рд╕реНрддрд╛рдиреНрддрд░рдг рдЧрд░реНрдиреЗ рдорд╛рддреНрд░ рд╣реЛрдЗрдиред рд╣рд╛рдореНрд░рд╛ рд╕рдмреИ Kubernetes рдХреНрд▓рд╕реНрдЯрд░ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рдкрдирд┐ рдЖрдлреНрдиреИ рдореЗрдЯреНрд░рд┐рдХрд╣рд░реВ рдлрд░реНрдХрд╛рдЙрди рд╕рдХреНрд╖рдо рдЫрдиреНред

рддрд░ рдореИрд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ рднрдиреЗрдВ, рдпрджрд┐ рддрдкрд╛рдЗрдБ рдХреНрд▓рд╕реНрдЯрд░ рдкрд╣реБрдБрдЪ рдЧрд░реНрди рд░ рдЬрд╛рдирдХрд╛рд░реА рд╕рдЩреНрдХрд▓рди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрди рднрдиреЗ, рддрдкрд╛рдЗрдБ рдХрдореНрддрд┐рдорд╛ рдХреЗрд╣рд┐ рд╣рд╛рдирд┐ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рддреНрдпрд╕реЛрднрдП рдо рдЪрд╛рдБрдбреИ рджреБрдИ рддрд░рд┐рдХрд╛рд╣рд░реВ рджреЗрдЦрд╛рдЙрдиреЗрдЫреБ рдХрд╕рд░реА рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░рд▓рд╛рдИ рдмрд░реНрдмрд╛рдж рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

рддрд┐рдореА рд╣рд╛рдБрд╕реНрдиреБрд╣реБрдиреЗрдЫ рдЬрдм рдо рддрд┐рдореАрд▓рд╛рдИ рдпреЛ рднрдиреНрдЫреБ, рдпреА рджреБрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рдирдХрд╛ рдШрдЯрдирд╛ рд╣реБрдиреНред

рд╡рд┐рдзрд┐ рдПрдХред рд╕реНрд░реЛрддрдХреЛ рдХрдореАред

рдЕрд░реНрдХреЛ рд╡рд┐рд╢реЗрд╖ рдкреЛрдб рд╕реБрд░реБ рдЧрд░реМрдВред рдпрд╕рдорд╛ рдпрд╕реНрддреЛ рдЦрдгреНрдб рд╣реБрдиреЗрдЫред

resources: 
    requests: 
        cpu: 4 
        memory: 4Gi 

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

рдпрджрд┐ рдореИрд▓реЗ рдпрд╕реНрддреЛ рдкреЛрдб рдЪрд▓рд╛рдЙрдБрдЫреБ рднрдиреЗ, рдо рдЖрджреЗрд╢ рдЪрд▓рд╛рдЙрдиреЗрдЫреБ:

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

рддреНрдпрд╕рдкрдЫрд┐ рдЕрд░реВ рдХрд╕реИрд▓реЗ Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рддреИрдирд╛рдд рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрдиреЗрдЫреИрдиред рдХрд┐рдирднрдиреЗ рд╕рдмреИ рдиреЛрдбрд╣рд░реВ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рд╕рдорд╛рдкреНрдд рд╣реБрдиреЗрдЫрдиреНред рд░ рдпрд╕рд░реА рдо рддрд┐рдореНрд░реЛ рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдмрдиреНрдж рдЧрд░реНрдиреЗрдЫреБред рдпрджрд┐ рдореИрд▓реЗ рдпреЛ рд╕рд╛рдБрдЭрдорд╛ рдЧрд░реЗ рднрдиреЗ, рдо рдзреЗрд░реИ рд▓рд╛рдореЛ рд╕рдордпрдХреЛ рд▓рд╛рдЧрд┐ рддреИрдирд╛рддреАрд╣рд░реВ рд░реЛрдХреНрди рд╕рдХреНрдЫреБред

рдпрджрд┐ рд╣рд╛рдореАрд▓реЗ Kubernetes рдХрд╛рдЧрдЬрд╛рддрдорд╛ рдлреЗрд░рд┐ рд╣реЗрд░реНтАНрдпреМрдВ рднрдиреЗ, рд╣рд╛рдореАрд▓реЗ рдпреЛ рдХреБрд░рд╛рд▓рд╛рдИ Limit Range рднрдирд┐рдиреЗ рджреЗрдЦреНрдиреЗрдЫреМрдВред рдпрд╕рд▓реЗ рдХреНрд▓рд╕реНрдЯрд░ рд╡рд╕реНрддреБрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрд░реЛрддрд╣рд░реВ рд╕реЗрдЯ рдЧрд░реНрджрдЫред рддрдкрд╛рдИрдВрд▓реЗ yaml рдорд╛ рд╕реАрдорд╛ рджрд╛рдпрд░рд╛ рд╡рд╕реНрддреБ рд▓реЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдпрд╕рд▓рд╛рдИ рдирд┐рд╢реНрдЪрд┐рдд рдиреЗрдорд╕реНрдкреЗрд╕рд╣рд░реВрдорд╛ рд▓рд╛рдЧреВ рдЧрд░реНрдиреБрд╣реЛрд╕реН - рд░ рддреНрдпрд╕рдкрдЫрд┐ рдпреЛ рдиреЗрдорд╕реНрдкреЗрд╕рдорд╛ рддрдкрд╛рдИрдВрд▓реЗ рдкреЛрдбрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд, рдЕрдзрд┐рдХрддрдо рд░ рдиреНрдпреВрдирддрдо рд╕реНрд░реЛрддрд╣рд░реВ рдЫрдиреН рднрдиреА рднрдиреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рдпрд╕реНрддреЛ рдЪреАрдЬрдХреЛ рдорджреНрджрддрд▓реЗ, рд╣рд╛рдореА рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рдЙрдиреАрд╣рд░реВрдХреЛ рдкреЛрдбрдорд╛ рд╕рдмреИ рдкреНрд░рдХрд╛рд░рдХрд╛ рдЦрд░рд╛рдм рдЪреАрдЬрд╣рд░реВ рд╕рдВрдХреЗрдд рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛рдорд╛ рдЯреЛрд▓реАрд╣рд░реВрдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрддреНрдкрд╛рджрди рдиреЗрдорд╕реНрдкреЗрд╕рд╣рд░реВрдорд╛ рд╕реАрдорд┐рдд рдЧрд░реНрди рд╕рдХреНрдЫреМрдВред рддрд░ рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рдпрджрд┐ рддрдкрд╛рдЗрдБ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓рд╛рдИ рдмрддрд╛рдЙрдиреБрд╣реБрдиреНрдЫ рдХрд┐ рдЙрдиреАрд╣рд░реВрд▓реЗ рдПрдХ рднрдиреНрджрд╛ рдмрдвреА CPU рдХреЛ рд▓рд╛рдЧреА рдЕрдиреБрд░реЛрдзрдХреЛ рд╕рд╛рде рдкреЛрдбрд╣рд░реВ рд╕реБрд░реБ рдЧрд░реНрди рд╕рдХреНрджреИрдирдиреН, рддреНрдпрд╣рд╛рдБ рдпрд╕реНрддреЛ рдЕрджреНрднреБрдд рд╕реНрдХреЗрд▓ рдЖрджреЗрд╢ рдЫ, рд╡рд╛ рддрд┐рдиреАрд╣рд░реВ рдбреНрдпрд╛рд╕рдмреЛрд░реНрдб рдорд╛рд░реНрдлрдд рдорд╛рдкрди рдЧрд░реНрди рд╕рдХреНрдЫрдиреНред

рд░ рдпреЛ рдЬрд╣рд╛рдБ рд╡рд┐рдзрд┐ рдирдореНрдмрд░ рджреБрдИ рдмрд╛рдЯ рдЖрдЙрдБрдЫред рд╣рд╛рдореА 11 рдкреЛрдбрд╣рд░реВ рд╕реБрд░реБ рдЧрд░реНрдЫреМрдВред рддреНрдпреЛ рдПрдШрд╛рд░ рдЕрд░реНрдмред рдпреЛ рдореИрд▓реЗ рддреНрдпрд╕реНрддреЛ рдирдореНрдмрд░ рд▓рд┐рдПрд░ рдЖрдПрдХреЛ рд╣реЛрдЗрди, рддрд░ рдореИрд▓реЗ рдЖрдлреИрдВрд▓реЗ рджреЗрдЦреЗрдХреЛ рдХрд╛рд░рдг рд╣реЛред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрдерд╛ред рд╕рд╛рдБрдЭ рдЕрдмреЗрд░ рдЕрдлрд┐рд╕рдмрд╛рдЯ рдирд┐рд╕реНрдХрди рд▓рд╛рдЧреЗрдХреЛ рдерд┐рдпреЛ ред рдореИрд▓реЗ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рдПрдЙрдЯрд╛ рд╕рдореВрд╣ рдХреБрдирд╛рдорд╛ рдмрд╕рд┐рд░рд╣реЗрдХреЛ рджреЗрдЦреНрдЫреБ, рддрд┐рдиреАрд╣рд░реВрдХреЛ рд▓реНрдпрд╛рдкрдЯрдкрд╕рдБрдЧ рдкрд╛рдЧрд▓рдкрдирд▓реЗ рдХреЗрд╣реА рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫреБред рдо рдХреЗрдЯрд╛рд╣рд░реВрдХрд╣рд╛рдБ рдЧрдПрд░ рд╕реЛрдзреНрдЫреБ: "рддрд┐рдореАрд▓рд╛рдИ рдХреЗ рднрдпреЛ?"

рдЕрд▓рд┐ рдЕрдЧрд╛рдбрд┐, рд╕рд╛рдБрдЭрдХреЛ рдХрд░рд┐рдм рдиреМ рдмрдЬреЗ, рдПрдХрдЬрдирд╛ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рдШрд░ рдЬрд╛рдиреЗ рддрдпрд╛рд░реА рдЧрд░реНрджреИ рдерд┐рдПред рд░ рдореИрд▓реЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗ: "рдо рдЕрдм рдореЗрд░реЛ рдЖрд╡реЗрджрдирд▓рд╛рдИ рдПрдХ рдорд╛ рдорд╛рдкрди рдЧрд░реНрдиреЗрдЫреБред" рдореИрд▓реЗ рдПрдЙрдЯрд╛ рдерд┐рдЪреЗрдБ, рддрд░ рдЗрдиреНрдЯрд░рдиреЗрдЯ рдЕрд▓рд┐ рдврд┐рд▓реЛ рднрдпреЛред рдЙрд╕рд▓реЗ рдлреЗрд░рд┐ рдПрдЙрдЯрд╛ рдерд┐рдЪреНрдпреЛ, рдЙрд╕рд▓реЗ рдПрдЙрдЯрд╛ рдерд┐рдЪреНрдпреЛ, рд░ Enter рдорд╛ рдХреНрд▓рд┐рдХ рдЧрд░реНрдпреЛред рдореИрд▓реЗ рд╕рдХреНрдиреЗ рд╕рдмреИ рдХреБрд░рд╛рдорд╛ рдерд┐рдЪреЗрдБред рддреНрдпрд╕рдкрдЫрд┐ рдЗрдиреНрдЯрд░рдиреЗрдЯ рдЬреАрд╡рдирдорд╛ рдЖрдпреЛ - рд░ рд╕рдмреИ рдХреБрд░рд╛ рдпреЛ рд╕рдВрдЦреНрдпрд╛рдорд╛ рдорд╛рдкрди рдЧрд░реНрди рдерд╛рд▓реЗред

рд╕рд╛рдБрдЪреЛ, рдпреЛ рдХрдерд╛ рдХреБрдмреЗрд░рдиреЗрдЯрдорд╛ рднрдПрдХреЛ рдерд┐рдПрди; рддреНрдпреЛ рд╕рдордпрдорд╛ рдпреЛ рдШреБрдордиреНрддреЗ рдерд┐рдпреЛред рдпреЛ рддрдереНрдпрдХреЛ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рднрдпреЛ рдХрд┐ рдШреБрдордиреНрддреЗрд▓рд╛рдИ рдорд╛рдкрди рдЧрд░реНрдиреЗ рд▓рдЧрд╛рддрд╛рд░ рдкреНрд░рдпрд╛рд╕рдмрд╛рдЯ рд░реЛрдХреНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореНрд░реЛ рдкреНрд░рдпрд╛рд╕рдХреЛ рдПрдХ рдШрдгреНрдЯрд╛ рдкрдЫрд┐, Nomad рдЬрд╡рд╛рдл рджрд┐рдП рдХрд┐ рдЙрд╕рд▓реЗ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рд░реЛрдХреНрджреИрди рд░ рдЕрд░реВ рдХреЗрд╣рд┐ рдкрдирд┐ рдЧрд░реНрджреИрдиред "рдо рдерд╛рдХреЗрдХреЛ рдЫреБ, рдо рдЬрд╛рдБрджреИрдЫреБред" рдЕрдирд┐ рдК рдЭреБрдХреНрдХрд┐рдпреЛ ред

рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдкрдорд╛, рдореИрд▓реЗ рдХреБрдмреЗрд░рдиреЗрдЯрдорд╛ рдкрдирд┐ рддреНрдпрд╕реНрддреИ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реЗрдВред рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдПрдШрд╛рд░ рдЕрд░реНрдм рдкреЛрдбрд╕рдБрдЧ рдЦреБрд╕реА рдерд┐рдПрдирдиреН, рдЙрдирд▓реЗ рднрдиреЗ: "рдо рд╕рдХреНрджрд┐рдиред рдЖрдиреНрддрд░рд┐рдХ рдорд╛рдЙрде рдЧрд╛рд░реНрдбрд╣рд░реВ рднрдиреНрджрд╛ рдмрдвреАред" рддрд░ 1 pods рд╕рдХреНрдЫред

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

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

рддрд░ рдореИрд▓реЗ рдЕрдЭ рдЕрдЧрд╛рдбрд┐ рдЬрд╛рдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдВред рддрдкрд╛рдИрд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫ, 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 рдХреЛ рд╕рд╣рдпреЛрдЧ рд╕рдВрдЧ рд╣рд▓ рдЧрд░рд┐рдПрдХреЛ рдЫред рддреНрдпрд╣рд╛рдБ рдпрд╕реНрддреЛ рд╕рдВрд╕рд╛рдзрди рдХреЛрдЯрд╛ рд╡рд╕реНрддреБ рдЫред рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдиреЗрдорд╕реНрдкреЗрд╕рдХрд╛ рд▓рд╛рдЧрд┐ рдЙрдкрд▓рдмреНрдз рд╕реНрд░реЛрдд рд░ рд╡рд╕реНрддреБрд╣рд░реВрдХреЛ рд╕рдЩреНрдЦреНрдпрд╛ рд╕реЗрдЯ рдЧрд░реНрдЫред рд╣рд╛рдореА Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдиреЗрдорд╕реНрдкреЗрд╕рдорд╛ yaml рд╡рд╕реНрддреБ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВред рдпреЛ рд╡рд╕реНрддреБ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░, рд╣рд╛рдореА рднрдиреНрди рд╕рдХреНрдЫреМрдВ рдХрд┐ рд╣рд╛рдореАрд╕рдБрдЧ рдпреЛ рдиреЗрдорд╕реНрдкреЗрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдЖрд╡рдВрдЯрд┐рдд рдЕрдиреБрд░реЛрдз рд░ рд╕реАрдорд╛рд╣рд░реВрдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдЫ, рд░ рддреНрдпрд╕рдкрдЫрд┐ рд╣рд╛рдореА рднрдиреНрди рд╕рдХреНрдЫреМрдВ рдХрд┐ рдпреЛ рдиреЗрдорд╕реНрдкреЗрд╕рдорд╛ 10 рд╕реЗрд╡рд╛рд╣рд░реВ рд░ 10 рдкреЛрдбрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдореНрднрд╡ рдЫред рд░ рдПрдХрд▓ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд▓реЗ рдХрдореНрддрд┐рдорд╛ рд╕рд╛рдБрдЭ рдЖрдлреИрд▓рд╛рдИ рдирд┐рд╕рд╛рд╕рд╛рдЙрди рд╕рдХреНрдЫред рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд▓реЗ рдЙрд╕рд▓рд╛рдИ рднрдиреНрдиреЗрдЫрдиреН: "рддрдкрд╛рдИрд▓реЗ рдЖрдлреНрдиреЛ рдкреЛрдбрд▓рд╛рдИ рддреНрдпреЛ рдорд╛рддреНрд░рд╛рдорд╛ рдорд╛рдкрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрди, рдХрд┐рдирднрдиреЗ рд╕реНрд░реЛрдд рдХреЛрдЯрд╛ рднрдиреНрджрд╛ рдмрдвреА рдЫред" рддреНрдпреЛ рд╣реЛ, рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рднрдпреЛред рдпрд╣рд╛рдБ рдХрд╛рдЧрдЬрд╛рдд.

рдпрд╕ рд╕рдиреНрджрд░реНрднрдорд╛ рдПрдЙрдЯрд╛ рд╕рдорд╕реНрдпрд╛рдХреЛ рд╡рд┐рд╖рдп рдЙрдареНрдЫред Kubernetes рдорд╛ рдиреЗрдорд╕реНрдкреЗрд╕ рдмрдирд╛рдЙрди рдХрддреНрддрд┐ рдЧрд╛рд╣реНрд░реЛ рднрдЗрд░рд╣реЗрдХреЛ рдЫ рднрдиреНрдиреЗ рддрдкрд╛рдИрдВрд▓реЗ рдорд╣рд╕реБрд╕ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫред рдпрд╕рд▓рд╛рдИ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди, рд╣рд╛рдореАрд▓реЗ рдзреЗрд░реИ рдЪреАрдЬрд╣рд░реВрд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрдиреБ рдкрд░реНрдЫред

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

рддреНрдпрд╕рдХрд╛рд░рдг, рдо рдпреЛ рдЕрд╡рд╕рд░рд▓рд╛рдИ рдореЗрд░реЛ рд╡рд┐рдХрд╛рд╕ рд╕рд╛рдЭрд╛ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБред рддреНрдпрд╣рд╛рдБ SDK рдЕрдкрд░реЗрдЯрд░ рднрдирд┐рдиреНрдЫ рдпрд╕реНрддреЛ рдЪреАрдЬ рдЫред рдпреЛ Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рд▓рд╛рдЧрд┐ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ рд▓реЗрдЦреНрдиреЗ рддрд░рд┐рдХрд╛ рд╣реЛред рддрдкрд╛рдИрдВрд▓реЗ Ansible рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХрдердирд╣рд░реВ рд▓реЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рд╕реБрд░реБрдорд╛ рдпреЛ Ansible рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдерд┐рдпреЛ, рд░ рддреНрдпрд╕рдкрдЫрд┐ рдореИрд▓реЗ рддреНрдпрд╣рд╛рдБ рдПрдХ SDK рдЕрдкрд░реЗрдЯрд░ рдерд┐рдпреЛ рд░ рдПрдХ рдЕрдкрд░реЗрдЯрд░ рдорд╛ рдЙрддреНрддрд░рджрд╛рдпреА рднреВрдорд┐рдХрд╛ рдкреБрди: рд▓реЗрдЦреЗрдХреЛ рджреЗрдЦреЗред рдпреЛ рдХрдердирд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХрдорд╛рдгреНрдб рднрдирд┐рдиреЗ рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рд╡рд╕реНрддреБ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдЖрджреЗрд╢ рднрд┐рддреНрд░, рдпрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ yaml рдорд╛ рдпреЛ рдЖрджреЗрд╢рдХреЛ рд▓рд╛рдЧрд┐ рд╡рд╛рддрд╛рд╡рд░рдг рд╡рд░реНрдгрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рд░ рдЯреЛрд▓реА рд╡рд╛рддрд╛рд╡рд░рдг рднрд┐рддреНрд░, рдпрд╕рд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рд╡рд░реНрдгрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ рдХрд┐ рд╣рд╛рдореА рдзреЗрд░реИ рд╕реНрд░реЛрддрд╣рд░реВ рдЖрд╡рдВрдЯрд┐рдд рдЧрд░реНрджреИрдЫреМрдВред

рд╕рд╛рдиреЛ рдПрдХ рдпреЛ рд╕рдореНрдкреВрд░реНрдг рдЬрдЯрд┐рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрди.

рд░ рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛ред рдпреЛ рд╕рдмреИ рд╕рдВрдЧ рдХреЗ рдЧрд░реНрдиреЗ?
рдкрд╣рд┐рд▓реЗред рдкреЛрдб рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐ рд░рд╛рдореНрд░реЛ рдЫред рд░ рдпрд╕ рддрдереНрдпрдХреЛ рдмрд╛рд╡рдЬреБрдж рдХреБрдиреИ рдкрдирд┐ Kubernetes рд╕реНрдерд╛рдкрдирд╛рдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЖрдЬрд╕рдореНрдо рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИрдирдиреН, рддрдкрд╛рдИрдВрд▓реЗ рдЕрдЭреИ рдкрдирд┐ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЖрдлреНрдиреЛ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

рдиреЗрдЯрд╡рд░реНрдХ рдиреАрддрд┐ рдЕрд░реНрдХреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕реБрд╡рд┐рдзрд╛ рдорд╛рддреНрд░ рд╣реЛрдЗрдиред рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдпреЛ рд╡рд╛рд╕реНрддрд╡рдореИ рдЖрд╡рд╢реНрдпрдХ рдЫред

LimitRange/ResourceQuota - рдпреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд╕рдордп рд╣реЛред рд╣рд╛рдореАрд▓реЗ рдпреЛ рд▓рд╛рдореЛ рд╕рдордп рдкрд╣рд┐рд▓реЗ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдерд╛рд▓реНрдпреМрдВ, рд░ рд▓рд╛рдореЛ рд╕рдордпрд╕рдореНрдо рдо рдкрдХреНрдХрд╛ рдерд┐рдПрдБ рдХрд┐ рд╕рдмреИрд▓реЗ рдпрд╕рд▓рд╛рдИ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рд░рд╣реЗрдХрд╛ рдерд┐рдПред рдпреЛ рджреБрд░реНрд▓рдн рдЫ рдХрд┐ рдмрд╛рд╣рд┐рд░ рднрдпреЛред

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

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

рдпрд╣рд╛рдБ рдореИрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рднрдиреЗрдХреЛ рд╕рдмреИ рдХреБрд░рд╛ рдХрд╕рд░реА рдкреБрди: рдЙрддреНрдкрд╛рджрди рдЧрд░реНрдиреЗ рднрдиреНрдиреЗ рдмрд╛рд░реЗ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ рдЫрдиреНред рд░рд┐рд╕реЛрд░реНрд╕рдХреЛрдЯрд╛ рд░ рдкреЛрдб рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐ рдХрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ рднрдиреНрдиреЗ рдЙрддреНрдкрд╛рджрди рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рднрдПрдХрд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рдЫрдиреНред рд░ рддрдкрд╛рдИрдВ рдпреЛ рд╕рдмреИ рдЫреБрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рд╕рдмреИрд▓рд╛рдИ рдзрдиреНрдпрд╡рд╛рджред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди