рдХрдВрдЯреЗрдирд░, рдорд╛рдпрдХреНрд░реЛ рд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕ рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢

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

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

рдбреЙрдЯрдХреНрд▓рд╛рдЙрдбрдЪрд╛ рдЗрддрд┐рд╣рд╛рд╕

рдореА рдбреЙрдЯрдХреНрд▓рд╛рдЙрдбрдЪреНрдпрд╛ рдЗрддрд┐рд╣рд╛рд╕рд╛рдмрджреНрджрд▓ рдЖрдгрд┐ рдпрд╛ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдЪреНрдпрд╛ рдирд┐рд╡рдбреАрдмрджреНрджрд▓ рд▓рд┐рд╣рд┐рд▓реЗ рдЖрд╣реЗ, рдкрд░рдВрддреБ рдореА рдиреЗрдЯрд╡рд░реНрдХ рд▓реЗрдпрд░рдмрджреНрджрд▓ рдЬрд╛рд╕реНрдд рдмреЛрд▓рд▓реЛ рдирд╛рд╣реА. рд╡рд╛рдЪрдирд╛рдд рдбреБрдмрдХреА рдорд╛рд░рд╛рдпрдЪреА рдирд╕реЗрд▓ рддрд░ рд╢реЗрд╡рдЯрдЪрд╛ рд▓реЗрдЦ рдбреЙрдЯрдХреНрд▓рд╛рдЙрдб рдмрджреНрджрд▓, рдпреЗрдереЗ рдереЛрдбрдХреНрдпрд╛рдд рд╕рд╛рд░рд╛рдВрд╢ рдЖрд╣реЗ: рд╣рд╛ рдПрдХ PaaS рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо-рдП-рдП-рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдЖрд╣реЗ рдЬреЛ рдЧреНрд░рд╛рд╣рдХрд╛рдВрдирд╛ рдбреЗрдЯрд╛рдЪреНрдпрд╛ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реЗрдгреАрд╕рд╛рдареА рд╕рдорд░реНрдердирд╛рд╕рд╣ рд╡рд┐рд╕реНрддреГрдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ (Java, PHP, Python...) рдЪрд╛рд▓рд╡рд┐рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЛ. рд╕реЗрд╡рд╛ (MongoDB, MySQL, Redis...) рдЖрдгрд┐ Heroku рд╕рд╛рд░рдЦрд╛ рд╡рд░реНрдХрдлреНрд▓реЛ: рддреБрдореНрд╣реА рддреБрдордЪрд╛ рдХреЛрдб рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░ рдЕрдкрд▓реЛрдб рдХрд░рддрд╛, рддреЗ рдХрдВрдЯреЗрдирд░ рдЗрдореЗрдЬ рдмрдирд╡рддреЗ рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рддреИрдирд╛рдд рдХрд░рддреЗ.

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

рд╣реЛрд╕реНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрд╕рд╛рдареА рд░рд╣рджрд╛рд░реА рдорд╛рд░реНрдЧ

рдбреЙрдЯрдХреНрд▓рд╛рдЙрдбрд╡рд░реАрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ HTTP рдЖрдгрд┐ TCP рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рдЙрдШрдб рдХрд░реВ рд╢рдХрддрд╛рдд.

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

рдХреНрд▓рд╛рдпрдВрдЯ рдпреЛрдЧреНрдп рдбреЛрдореЗрдирджреНрд╡рд╛рд░реЗ HTTP рдПрдВрдбрдкреЙрдИрдВрдЯрд╢реА рдХрдиреЗрдХреНрдЯ рд╣реЛрддрд╛рдд, рдЬрд░ рдбреЛрдореЗрди рдирд╛рд╡ рдбреЙрдЯрдХреНрд▓рд╛рдЙрдб рд▓реЛрдб рдмреЕрд▓рдиреНрд╕рд░реНрд╕рдХрдбреЗ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддреЗ. рдЦрд╛рд╕ рдХрд╛рд╣реА рдирд╛рд╣реА.

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

рдХреНрд▓рд╛рдпрдВрдЯ рдпреЛрдЧреНрдп рд╣реЛрд╕реНрдЯрдирд╛рд╡ (рдЧреЗрдЯрд╡реЗ-X.dotcloud.com рд╕рд╛рд░рдЦреЗ рдХрд╛рд╣реАрддрд░реА) рдЖрдгрд┐ рдкреЛрд░реНрдЯ рдирдВрдмрд░ рд╡рд╛рдкрд░реВрди TCP рдПрдВрдбрдкреЙрдЗрдВрдЯрд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░реВ рд╢рдХрддрд╛рдд.

рд╣реЗ рд╣реЛрд╕реНрдЯрдирд╛рд╡ тАЬnatsтАЭ рд╕рд░реНрд╡реНрд╣рд░ рдХреНрд▓рд╕реНрдЯрд░рдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рддреЗ (рдпрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдирд╛рд╣реА NATS), рдЬреЗ рдпреЗрдгрд╛рд░реЗ TCP рдХрдиреЗрдХреНрд╢рди рдпреЛрдЧреНрдп рдХрдВрдЯреЗрдирд░рд╡рд░ (рдХрд┐рдВрд╡рд╛, рд▓реЛрдб-рд╕рдВрддреБрд▓рд┐рдд рд╕реЗрд╡рд╛рдВрдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рдпреЛрдЧреНрдп рдХрдВрдЯреЗрдирд░рд╡рд░) рд░реВрдЯ рдХрд░реЗрд▓.

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

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

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

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

рд╣реЗ рдЖрдзреБрдирд┐рдХ рд╕реЗрд╡рд╛ рдЬрд╛рд│реАрдкреЗрдХреНрд╖рд╛ рд╡реЗрдЧрд│реЗ рдХрд╕реЗ рдЖрд╣реЗ?

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

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

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

рдЕрд╢рд╛ рд╕рдорд╕реНрдпрд╛рдВрдирд╛ рддреЛрдВрдб рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдзреБрдирд┐рдХ рд╕реЗрд╡рд╛ рдЬрд╛рд│реА рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реА рдЖрд╣реЗрдд. рд╕рд░реНрд╡ рдкреНрд░рдердо, рддреЗ рддрдкрд╛рд╕рддрд╛рдд рдХреА рдХрдиреЗрдХреНрд╢рди рд░реВрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗрдд рд╕реНрд░реЛрдд рдордзреНрдпреЗ. рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░рд╡рд╛рд╣ рд╕рдорд╛рди рдЖрд╣реЗ: ╨║╨╗╨╕╨╡╨╜╤В тЖТ ╨╝╨╡╤И тЖТ ╤Б╨╡╤А╨▓╨╕╤Б, рдкрд░рдВрддреБ рдЖрддрд╛ рдЬрд╛рд│реА рд╕реНрдерд╛рдирд┐рдХ рдкрд╛рддрд│реАрд╡рд░ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдЖрдгрд┐ рд░рд┐рдореЛрдЯ рдиреЛрдбреНрд╕рд╡рд░ рдирд╛рд╣реА, рддреНрдпрд╛рдореБрд│реЗ рдХрдиреЗрдХреНрд╢рди ╨║╨╗╨╕╨╡╨╜╤В тЖТ ╨╝╨╡╤И рд╕реНрдерд╛рдирд┐рдХ рдЖрдгрд┐ рдЕрддрд┐рд╢рдп рд╡реЗрдЧрд╡рд╛рди рдЖрд╣реЗ (рдорд┐рд▓реАрд╕реЗрдХрдВрдж рдРрд╡рдЬреА рдорд╛рдпрдХреНрд░реЛрд╕реЗрдХрдВрдж).

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

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

рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рд╕реЗрд╡рд╛рдВрд╕рд╛рдареА рд░рд╛рдЙрдЯрд┐рдВрдЧ рд░рд╣рджрд╛рд░реА

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

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

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

рдпрд╛ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп, рдорд┐рд╢рди-рдЧрдВрднреАрд░ рд╕реЗрд╡рд╛ рдХрд╛рд╣реА рдкреНрд░рдореБрдЦ рдиреЛрдбреНрд╕рд╡рд░ рдереЗрдЯ рдХрдВрдЯреЗрдирд░ рдЪрд╛рд▓рд╡реВрди рддреИрдирд╛рдд рдХреЗрд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдорд╛рдирдХ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рд╕реЗрд╡рд╛ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛ рдирд╛рд╣реАрдд: рд▓рд┐рдВрдХрд░, рд╢реЗрдбреНрдпреВрд▓рд░ рдЖрдгрд┐ рдзрд╛рд╡рдкрдЯреВ. рдЖрдкрдг рдЖрдзреБрдирд┐рдХ рдХрдВрдЯреЗрдирд░ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╢реА рддреБрд▓рдирд╛ рдХрд░реВ рдЗрдЪреНрдЫрд┐рдд рдЕрд╕рд▓реНрдпрд╛рд╕, рд╣реЗ рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ docker run рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд▓рд╛ рдХрд╛рд░реНрдп рд╕реЛрдкрд╡рдгреНрдпрд╛рдРрд╡рдЬреА рдереЗрдЯ рдиреЛрдбреНрд╕рд╡рд░. рд╣реЗ рд╕рдВрдХрд▓реНрдкрдиреЗрдд рддреЗрд╣реА рд╕рдорд╛рди рдЖрд╣реЗ рд╕реНрдерд┐рд░ рдореЙрдбреНрдпреВрд▓ (рд╢реЗрдВрдЧрд╛), рдЬреЗ рддреЗ рд╡рд╛рдкрд░рддреЗ kubeadm рдХрд┐рдВрд╡рд╛ bootkube рд╕реНрдЯрдБрдбрдЕрд▓реЛрди рдХреНрд▓рд╕реНрдЯрд░ рдмреВрдЯ рдХрд░рддрд╛рдирд╛.

рдпрд╛ рд╕реЗрд╡рд╛ рд╕реЛрдкреНрдпрд╛ рдЖрдгрд┐ рдХреНрд░реВрдб рдкрджреНрдзрддреАрдиреЗ рдЙрдШрдб рдХреЗрд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛: YAML рдлрд╛рдЗрд▓рдордзреНрдпреЗ рддреНрдпрд╛рдВрдЪреА рдирд╛рд╡реЗ рдЖрдгрд┐ рдкрддреНрддреЗ рд╕реВрдЪреАрдмрджреНрдз рдЖрд╣реЗрдд; рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рдпрд╛ YAML рдлрд╛рдЗрд▓рдЪреА рдПрдХ рдкреНрд░рдд рддреИрдирд╛рддреАрд╕рд╛рдареА рдШреНрдпрд╛рд╡реА рд▓рд╛рдЧрд▓реА.

рдПрдХреАрдХрдбреЗ, рддреЗ рдЕрддреНрдпрдВрдд рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣ рдЖрд╣реЗ рдХрд╛рд░рдг рддреНрдпрд╛рд▓рд╛ рдмрд╛рд╣реНрдп рдХреА/рдореВрд▓реНрдп рд╕реНрдЯреЛрдЕрд░рдЪреНрдпрд╛ рд╕рдорд░реНрдердирд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА рдЬрд╕реЗ рдХреА Zookeeper (рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛, etcd рдХрд┐рдВрд╡рд╛ Consul рддреНрдпрд╛рд╡реЗрд│реА рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдирд╡реНрд╣рддреЗ). рджреБрд╕рд░реАрдХрдбреЗ, рд╕реЗрд╡рд╛ рд╣рд▓рд╡рд┐рдгреЗ рдХрдареАрдг рдЭрд╛рд▓реЗ. рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрд│реА рд╣рд▓рд╡рд▓реНрдпрд╛рдирдВрддрд░, рд╕рд░реНрд╡ рдХреНрд▓рд╛рдпрдВрдЯрдирд╛ рдЕрдкрдбреЗрдЯ рдХреЗрд▓реЗрд▓реА YAML рдлрд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдИрд▓ (рдЖрдгрд┐ рд╕рдВрднрд╛рд╡реНрдп рд░реАрдмреВрдЯ). рдлрд╛рд░ рдЖрд░рд╛рдорджрд╛рдпрдХ рдирд╛рд╣реА!

рддреНрдпрд╛рдирдВрддрд░, рдЖрдореНрд╣реА рдПрдХ рдирд╡реАрди рдпреЛрдЬрдирд╛ рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА, рдЬрд┐рдереЗ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╛рдпрдВрдЯ рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡реНрд╣рд░рд╢реА рдХрдиреЗрдХреНрдЯ рдЭрд╛рд▓рд╛. рдкрддреНрддрд╛ рдЖрдгрд┐ рдкреЛрд░реНрдЯ рдРрд╡рдЬреА, рддреНрдпрд╛рд▓рд╛ рдлрдХреНрдд рд╕реЗрд╡реЗрдЪрд╛ рдкреЛрд░реНрдЯ рдирдВрдмрд░ рдорд╛рд╣рд┐рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рджреНрд╡рд╛рд░реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ localhost. рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░реЙрдХреНрд╕реА рд╣реЗ рдХрдиреЗрдХреНрд╢рди рд╣рд╛рддрд╛рд│рддреЗ рдЖрдгрд┐ рддреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░реНрд╡реНрд╣рд░рдХрдбреЗ рдкрд╛рдард╡рддреЗ. рдЖрддрд╛, рдмреЕрдХрдПрдВрдбрд▓рд╛ рджреБрд╕рд░реНтАНрдпрд╛ рдорд╢реАрдирд╡рд░ рд╣рд▓рд╡рддрд╛рдирд╛ рдХрд┐рдВрд╡рд╛ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХрд░рддрд╛рдирд╛, рд╕рд░реНрд╡ рдХреНрд▓рд╛рдпрдВрдЯ рдЕрджреНрдпрддрдирд┐рдд рдХрд░рдгреНрдпрд╛рдРрд╡рдЬреА, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдлрдХреНрдд рдпрд╛ рд╕рд░реНрд╡ рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░реЙрдХреНрд╕реА рдЕрджреНрдпрддрдирд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ; рдЖрдгрд┐ рдпрд╛рдкреБрдвреЗ рд░реАрдмреВрдЯ рдЖрд╡рд╢реНрдпрдХ рдирд╛рд╣реА.

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

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

Istio, Linkerd рдЖрдгрд┐ Consul Connect рд╕рд╛рд░рдЦреНрдпрд╛ рд╕рд┐рд╕реНрдЯреАрдордЪреНрдпрд╛ рдкреВрд░реНрд╡рд╡рд░реНрддреАрдкреИрдХреА рдПрдХ рдореНрд╣рдгреВрди рдореА рд╡реНрдпрдХреНрддрд┐рд╢рдГ SmartStack рд▓рд╛ рдорд╛рдирддреЛ рдХрд╛рд░рдг рддреЗ рд╕рд░реНрд╡ рд╕рдорд╛рди рдкрджреНрдзрддреАрдЪреЗ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛рдд:

  • рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрд╡рд░ рдкреНрд░реЙрдХреНрд╕реА рдЪрд╛рд▓рд╡рд╛.
  • рдХреНрд▓рд╛рдпрдВрдЯ рдкреНрд░реЙрдХреНрд╕реАрд╢реА рдХрдиреЗрдХреНрдЯ рд╣реЛрддрд╛рдд.
  • рдмреЕрдХрдПрдВрдб рдмрджрд▓рд▓реНрдпрд╛рд╡рд░ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рдкреНрд░реЙрдХреНрд╕реА рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ.
  • ... рдирдлрд╛!

рд╕реЗрд╡рд╛ рдЬрд╛рд│реАрдЪреА рдЖрдзреБрдирд┐рдХ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА

рдЖрдЬ рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рдорд╛рди рдЧреНрд░рд┐рдб рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рд▓реНрдпрд╛рд╕, рдЖрдореНрд╣реА рд╕рдорд╛рди рддрддреНрддреНрд╡реЗ рд╡рд╛рдкрд░реВ рд╢рдХрддреЛ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕реНрдкреЗрд╕рдордзреАрд▓ рдкрддреНрддреНрдпрд╛рдВрд╡рд░ рд╕реЗрд╡реЗрдЪреА рдирд╛рд╡реЗ рдореЕрдк рдХрд░реВрди рдЕрдВрддрд░реНрдЧрдд DNS рдЭреЛрди рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛ 127.0.0.0/8. рдирдВрддрд░ рдХреНрд▓рд╕реНрдЯрд░рдордзреАрд▓ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрд╡рд░ HAProxy рдЪрд╛рд▓рд╡рд╛, рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛ рдкрддреНрддреНрдпрд╛рд╡рд░ рдХрдиреЗрдХреНрд╢рди рд╕реНрд╡реАрдХрд╛рд░рд╛ (рддреНрдпрд╛ рд╕рдмрдиреЗрдЯрдордзреНрдпреЗ 127.0.0.0/8) рдЖрдгрд┐ рдпреЛрдЧреНрдп рдмреЕрдХрдПрдВрдбрд╡рд░ рд▓реЛрдб рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд/рд╕рдВрддреБрд▓рд┐рдд рдХрд░рдгреЗ. HAProxy рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдирд┐рдпрдВрддреНрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ confd, рддреБрдореНрд╣рд╛рд▓рд╛ рдмреЕрдХрдПрдВрдб рдорд╛рд╣рд┐рддреА etcd рдХрд┐рдВрд╡рд╛ Consul рдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ рдЖрдгрд┐ рдЖрд╡рд╢реНрдпрдХрддреЗрдиреБрд╕рд╛рд░ рдЕрдкрдбреЗрдЯ рдХреЗрд▓реЗрд▓реЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди HAProxy рд╡рд░ рдЖрдкреЛрдЖрдк рдкреБрд╢ рдХрд░рддреЗ.

рд╣реЗ Istio рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рддреЗ рдЦреВрдкрдЪ рдЬрд╛рд╕реНрдд рдЖрд╣реЗ! рдкрд░рдВрддреБ рдХрд╛рд╣реА рдлрд░рдХрд╛рдВрд╕рд╣:

  • рд╡рд╛рдкрд░рддреЗ рджреВрдд рдкреНрд░реЙрдХреНрд╕реА HAProxy рдРрд╡рдЬреА.
  • etcd рдХрд┐рдВрд╡рд╛ Consul рдРрд╡рдЬреА Kubernetes API рджреНрд╡рд╛рд░реЗ рдмреЕрдХрдПрдВрдб рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╕реНрдЯреЛрдЕрд░ рдХрд░рддреЗ.
  • рд╕реЗрд╡рд╛рдВрдирд╛ 127.0.0.0/8 рдРрд╡рдЬреА рдЕрдВрддрд░реНрдЧрдд рд╕рдмрдиреЗрдЯ (Kubernetes ClusterIP рдкрддреНрддреЗ) рд╡рд░ рдкрддреНрддреЗ рд╡рд╛рдЯрдк рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд.
  • рдХреНрд▓рд╛рдпрдВрдЯ рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд░ рджрд░рдореНрдпрд╛рди рдкрд░рд╕реНрдкрд░ TLS рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА рдЕрддрд┐рд░рд┐рдХреНрдд рдШрдЯрдХ (рд╕рд┐рдЯрд╛рдбреЗрд▓) рдЖрд╣реЗ.
  • рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд┐рдВрдЧ, рдбрд┐рд╕реНрдЯреНрд░рд┐рдмреНрдпреБрдЯреЗрдб рдЯреНрд░реЗрд╕рд┐рдВрдЧ, рдХреЕрдирд░реА рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рдЗрддреНрдпрд╛рджреА рдирд╡реАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдирд╛ рд╕рдкреЛрд░реНрдЯ рдХрд░рддреЗ.

рдЪрд▓рд╛ рдХрд╛рд╣реА рдлрд░рдХрд╛рдВрд╡рд░ рдПрдХ рджреНрд░реБрдд рдирдЬрд░ рдЯрд╛рдХреВрдпрд╛.

рджреВрдд рдкреНрд░реЙрдХреНрд╕реА

Envoy Proxy рд╣реЗ Lyft [рдЯреЕрдХреНрд╕реА рдорд╛рд░реНрдХреЗрдЯрдордзреАрд▓ Uber рдЪреЗ рд╕реНрдкрд░реНрдзрдХ - рдЕрдВрджрд╛рдЬреЗ. рд▓реЗрди]. рд╣реЗ рдЗрддрд░ рдкреНрд░реЙрдХреНрд╕реА (рдЙрджрд╛. HAProxy, Nginx, Traefik...) рд╕рд╛рд░рдЦреЗрдЪ рдЖрд╣реЗ, рдкрд░рдВрддреБ Lyft рдиреЗ рддреЗ рд▓рд┐рд╣рд┐рд▓реЗ рдХрд╛рд░рдг рддреНрдпрд╛рдВрдирд╛ рдЗрддрд░ рдкреНрд░реЙрдХреНрд╕реА рдирд╕рд▓реЗрд▓реНрдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рдЖрдгрд┐ рд╡рд┐рджреНрдпрдорд╛рди рдкреНрд░реЙрдХреНрд╕реА рд╡рд╛рдврд╡рдгреНрдпрд╛рдРрд╡рдЬреА рдирд╡реАрди рдмрдирд╡рдгреЗ рдЕрдзрд┐рдХ рд╣реБрд╢рд╛рд░ рд╡рд╛рдЯрд▓реЗ.

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

рдкрдг рджреВрдд рдореНрд╣рдгреВрди рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЖрд╣реЗ рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рд╕реЗрд╡рд╛ рдЬрд╛рд│реАрд╕рд╛рдареА (рдбреЗрдЯрд╛ рдкреНрд▓реЗрди). рдпрд╛рдЪрд╛ рдЕрд░реНрде рджреВрдд рдЖрддрд╛ рдпрд╛ рд╕реЗрд╡рд╛ рдЬрд╛рд│реАрд╕рд╛рдареА рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЖрд╣реЗ рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди (рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди).

рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди

рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрдирд╕рд╛рдареА, Istio Kubernetes API рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЖрд╣реЗ. рд╣реЗ confd рд╡рд╛рдкрд░рдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдлрд╛рд░ рд╡реЗрдЧрд│реЗ рдирд╛рд╣реА, рдЬреЗ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрдЕрд░рдордзреАрд▓ рдХреА рдЪрд╛ рд╕рдВрдЪ рдкрд╛рд╣рдгреНрдпрд╛рд╕рд╛рдареА etcd рдХрд┐рдВрд╡рд╛ Consul рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ. Istio Kubernetes рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪрд╛ рд╕рдВрдЪ рдкрд╛рд╣рдгреНрдпрд╛рд╕рд╛рдареА Kubernetes API рд╡рд╛рдкрд░рддреЗ.

рдпрд╛ рджрд░рдореНрдпрд╛рди рдЖрдгрд┐ рдирдВрддрд░: рдорд▓рд╛ рд╡реИрдпрдХреНрддрд┐рдХрд░рд┐рддреНрдпрд╛ рд╣реЗ рдЙрдкрдпреБрдХреНрдд рд╡рд╛рдЯрд▓реЗ Kubernetes API рд╡рд░реНрдгрдирдЬреЗ рд╡рд╛рдЪрддреЗ:

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдп рд╕рд░реНрд╡реНрд╣рд░ рд╣рд╛ рдПрдХ тАЬрдореВрдХ рд╕рд░реНрд╡реНрд╣рд░тАЭ рдЖрд╣реЗ рдЬреЛ API рд╕рдВрд╕рд╛рдзрдирд╛рдВрд╕рд╛рдареА рд╕реНрдЯреЛрд░реЗрдЬ, рдЖрд╡реГрддреНрддреА, рдкреНрд░рдорд╛рдгреАрдХрд░рдг, рдЕрдкрдбреЗрдЯрд┐рдВрдЧ рдЖрдгрд┐ рдЕрд░реНрдерд╢рд╛рд╕реНрддреНрд░ рдСрдлрд░ рдХрд░рддреЛ.

Istio рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗ; рдЖрдгрд┐ рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рддреЗ Kubernetes рдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рдЕрд╕реЗрд▓, рддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ Kubernetes API рд╕рд░реНрд╡реНрд╣рд░рдЪреЗ (рдЖрдгрд┐ etcd рдорджрддрдиреАрд╕ рд╕реЗрд╡рд╛) рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЪрд╛рд▓рд╡рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓.

рд╕реЗрд╡рд╛ рдкрддреНрддреЗ

Istio ClusterIP рдкрддреНрддреНрдпрд╛рдВрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЖрд╣реЗ рдЬреЗ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдиреЗ рд╡рд╛рдЯрдк рдХреЗрд▓реЗ рдЖрд╣реЗ, рдореНрд╣рдгреВрди Istio рд╕реЗрд╡рд╛рдВрдирд╛ рдЕрдВрддрд░реНрдЧрдд рдкрддреНрддрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЛ (рд╢реНрд░реЗрдгреАрдордзреНрдпреЗ рдирд╛рд╣реА 127.0.0.0/8).

Istio рд╢рд┐рд╡рд╛рдп Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдордзреАрд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрд╡реЗрд╕рд╛рдареА ClusterIP рдкрддреНрддреНрдпрд╛рд╡рд░реАрд▓ рдЯреНрд░реЕрдлрд┐рдХ kube-proxy рджреНрд╡рд╛рд░реЗ рд░реЛрдЦрд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рддреНрдпрд╛ рдкреНрд░реЙрдХреНрд╕реАрдЪреНрдпрд╛ рдмреЕрдХрдПрдВрдбрд╡рд░ рдкрд╛рдард╡рд▓реЗ рдЬрд╛рддреЗ. рддреБрдореНрд╣рд╛рд▓рд╛ рддрд╛рдВрддреНрд░рд┐рдХ рддрдкрд╢реАрд▓рд╛рдВрдордзреНрдпреЗ рд╕реНрд╡рд╛рд░рд╕реНрдп рдЕрд╕рд▓реНрдпрд╛рд╕, kube-proxy рдХреНрд▓рд╕реНрдЯрд░рдЖрдпрдкреА рдкрддреНрддреНрдпрд╛рд╡рд░ рдЬрд╛рдгрд╛рд▒реНрдпрд╛ рдХрдиреЗрдХреНрд╢рдирдЪреЗ рдЧрдВрддрд╡реНрдп IP рдкрддреНрддреЗ рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕рд╛рдареА iptables рдирд┐рдпрдо (рдХрд┐рдВрд╡рд╛ IPVS рд▓реЛрдб рдмреЕрд▓рдиреНрд╕рд░реНрд╕, рддреЗ рдХрд╕реЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЖрд╣реЗ рдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди) рд╕реЗрдЯ рдХрд░рддреЗ.

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

Kubernetes DNS рд╕рд╣ рд╕рдорд╛рдХрд▓рд┐рдд рдХреЗрд▓реНрдпрд╛рд╡рд░, рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЖрдордЪрд╛ рдХреЛрдб рд╕реЗрд╡реЗрдЪреНрдпрд╛ рдирд╛рд╡рд╛рдиреЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдК рд╢рдХрддреЛ рдЖрдгрд┐ рд╕рд░реНрд╡рдХрд╛рд╣реА "рдлрдХреНрдд рдХрд╛рд░реНрдп рдХрд░рддреЗ." рджреБрд╕-рдпрд╛ рд╢рдмреНрджрд╛рдд, рдЖрдордЪрд╛ рдХреЛрдб рдпрд╛рд╕рд╛рд░рдЦреНрдпрд╛ рдкреНрд░рд╢реНрдирд╛рдВрдЪреА рд╕рдорд╕реНрдпрд╛ рдХрд░рддреЛ http://api/v1/users/4242рдордЧ api рд╕рд╛рдареА рд╡рд┐рдирдВрддреА рд╕реЛрдбрд╡рд╛ 10.97.105.48, iptables рдирд┐рдпрдо 10.97.105.48 рдкрд╛рд╕реВрди рдХрдиреЗрдХреНрд╢рдиреНрд╕рдордзреНрдпреЗ рд╡реНрдпрддреНрдпрдп рдЖрдгрддреАрд▓ рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рд╕реНрдерд╛рдирд┐рдХ рджреВрдд рдкреНрд░реЙрдХреНрд╕реАрдХрдбреЗ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рддреАрд▓ рдЖрдгрд┐ рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░реЙрдХреНрд╕реА рд╡рд┐рдирдВрддреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмреЕрдХрдПрдВрдб API рдХрдбреЗ рдкрд╛рдард╡реЗрд▓. рдУрдлреНрдл!

рдЕрддрд┐рд░рд┐рдХреНрдд рдлреНрд░рд┐рд▓реНрд╕

Istio mTLS (рдореНрдпреБрдЪреНрдпреБрдЕрд▓ TLS) рджреНрд╡рд╛рд░реЗ рдПрдВрдб-рдЯреВ-рдПрдВрдб рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдЖрдгрд┐ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рджреЗрдЦреАрд▓ рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рдПрдХ рдШрдЯрдХ рдореНрд╣рдгрддрд╛рдд рдХрд┐рд▓реНрд▓рд╛.

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

рдЖрдгрд┐, рдЕрд░реНрдерд╛рддрдЪ, рдЖрдореНрд╣реА рджреГрд╢реНрдпрдорд╛рдирддреЗрдЪрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХреЗрд▓рд╛ рдЖрд╣реЗ: рд╡рд┐рддрд░рд┐рдд рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдкреНрд░рджрд╛рди рдХрд░рддрд╛рдирд╛ рджреВрдд рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдЧреЛрд│рд╛ рдХрд░рддреЛ. рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдордзреНрдпреЗ, рдЬрд░ рдПрдХрдЪ API рд╡рд┐рдирдВрддреА рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕ A, B, C рдЖрдгрд┐ D рдордзреВрди рдЬрд╛рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕реЗрд▓, рддрд░ рд▓реЙрдЧ рдЗрди рдХреЗрд▓реНрдпрд╛рд╡рд░, рд╡рд┐рддрд░рд┐рдд рдЯреНрд░реЗрд╕рд┐рдВрдЧ рд╡рд┐рдирдВрддреАрдордзреНрдпреЗ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХ рдЬреЛрдбреЗрд▓ рдЖрдгрд┐ рдпрд╛ рд╕рд░реНрд╡ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕рд╕рд╛рдареА рд╕рдм-рд░рд┐рдХреНрд╡реЗрд╕реНрдЯрджреНрд╡рд╛рд░реЗ рд╣рд╛ рдЖрдпрдбреЗрдВрдЯрд┐рдлрд╛рдпрд░ рд╕рдВрдЪрдпрд┐рдд рдХрд░реЗрд▓. рд╕рд░реНрд╡ рд╕рдВрдмрдВрдзрд┐рдд рдХреЙрд▓ рдХреЕрдкреНрдЪрд░ рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓. рд╡рд┐рд▓рдВрдм рдЗ.

рд╡рд┐рдХрдд рдШреНрдпрд╛ рдХрд┐рдВрд╡рд╛ рд╡рд┐рдХрдд рдШреНрдпрд╛

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

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

рдкрд░рдВрддреБ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдкреНрд░рдЧрдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рд▓реНрдпрд╛рд╕, рд╕реЗрд╡рд╛ рдЬрд╛рд│реА "рдЦрд░реЗрджреА рдХрд░рдгреЗ" рд╣рд╛ рдПрдХ рдЪрд╛рдВрдЧрд▓рд╛ рдкрд░реНрдпрд╛рдп рдЕрд╕рд▓реНрдпрд╛рдЪреЗ рджрд┐рд╕рддреЗ. (рд╣реЗ рдиреЗрд╣рдореАрдЪ "рдЦрд░реЗрджреА" рдирд╕рддреЗ рдХрд╛рд░рдг Istio рдореБрдХреНрдд рд╕реНрддреНрд░реЛрдд рдЖрд╣реЗ, рдкрд░рдВрддреБ рддрд░реАрд╣реА рдЖрдореНрд╣рд╛рд▓рд╛ рддреЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА, рддреИрдирд╛рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрднрд┐рдпрд╛рдВрддреНрд░рд┐рдХреА рд╡реЗрд│ рдШрд╛рд▓рд╡рд╛рд╡рд╛ рд▓рд╛рдЧреЗрд▓.)

рдореА Istio, Linkerd рдХрд┐рдВрд╡рд╛ Consul Connect рдирд┐рд╡рдбрд╛рд╡реЗ рдХрд╛?

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

рдХрд╛рдп рдирд┐рд╡рдбрд╛рд╡реЗ?

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

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

рдореА Istio рдЖрдгрд┐ SuperGloo рд╕рд╣ рдереЛрдбреЗрд╕реЗ рд╕рдВрдкрд░реНрдХ рд╕рд╛рдзрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рдкреБрдвреАрд▓ рд▓реЗрдЦрд╛рдд рдорд▓рд╛ рд╣реЗ рджрд╛рдЦрд╡рд╛рдпрдЪреЗ рдЖрд╣реЗ рдХреА SuperGloo рд╡рд╛рдкрд░реВрди рд╡рд┐рджреНрдпрдорд╛рди рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ Istio рдХрд┐рдВрд╡рд╛ Linkerd рдХрд╕реЗ рдЬреЛрдбрд╛рдпрдЪреЗ рдЖрдгрд┐ рдирдВрддрд░рдЪреЗ рдХрд╛рдо рдХрд╕реЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдореНрд╣рдгрдЬреЗрдЪ рддреБрдореНрд╣рд╛рд▓рд╛ рдпреЗрдереВрди рд╕реНрд╡рд┐рдЪ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдУрд╡реНрд╣рд░рд░рд╛рдИрдЯ рди рдХрд░рддрд╛ рдПрдХ рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢ рджреБрд╕рд░реНтАНрдпрд╛рд╡рд░.

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

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