рдХрдиреНрдЯреЗрдирд░, рдорд╛рдЗрдХреНрд░реЛ рд╕реЗрд╡рд╛ рд░ рд╕реЗрд╡рд╛ рдЬрд╛рд▓рд╣рд░реВ

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

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

DotCloud рдХреЛ рдЗрддрд┐рд╣рд╛рд╕

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

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

рд╣реЛрд╕реНрдЯ рдЧрд░рд┐рдПрдХрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЯреНрд░рд╛рдлрд┐рдХ рдорд╛рд░реНрдЧ

рдбрдЯрдХреНрд▓рд╛рдЙрдбрдорд╛ рднрдПрдХрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрд▓реЗ HTTP рд░ TCP рдЕрдиреНрддреНрдпрдмрд┐рдиреНрджреБрд╣рд░реВ рдЙрдЬрд╛рдЧрд░ рдЧрд░реНрди рд╕рдХреНрдЫрдиреНред

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

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

TCP рдЕрдиреНрддрд┐рдо рдмрд┐рдиреНрджреБрд╣рд░реВ рдкреЛрд░реНрдЯ рдирдореНрдмрд░рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд, рдЬреБрди рддреНрдпрд╕рдкрдЫрд┐ рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ рдорд╛рд░реНрдлрдд рд╕реНрдЯреНрдпрд╛рдХрдорд╛ рд░рд╣реЗрдХрд╛ рд╕рдмреИ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдорд╛ рдкрдард╛рдЗрдиреНрдЫред

рдЧреНрд░рд╛рд╣рдХрд╣рд░реВрд▓реЗ рдЙрдкрдпреБрдХреНрдд рд╣реЛрд╕реНрдЯрдирд╛рдо (рдЧреЗрдЯрд╡реЗ-X.dotcloud.com рдЬрд╕реНрддреИ) рд░ рдкреЛрд░реНрдЯ рдирдореНрдмрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ TCP рдЕрдиреНрддреНрдп рдмрд┐рдиреНрджреБрд╣рд░реВрдорд╛ рдЬрдбрд╛рди рдЧрд░реНрди рд╕рдХреНрдЫрдиреНред

рдпреЛ рд╣реЛрд╕реНрдЯрдирд╛рдорд▓реЗ "nats" рд╕рд░реНрднрд░ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдЫ (рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫреИрди NATS), рдЬрд╕рд▓реЗ рд╕рд╣реА рдХрдиреНрдЯреЗрдирд░рдорд╛ рдЖрдЧрдорди TCP рдЬрдбрд╛рдирд╣рд░реВ (рд╡рд╛, рд▓реЛрдб-рд╕рдиреНрддреБрд▓рд┐рдд рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рдорд╛рдорд▓рд╛рдорд╛, рд╕рд╣реА рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдорд╛) рд░реВрдЯ рдЧрд░реНрдиреЗрдЫред

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

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

рд╕рдмреИ рдХреБрд░рд╛ рдПрдХрджрдо рд╕рд░рд▓ рд░реВрдкрдорд╛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ: HTTP рд░ TCP рд░реВрдЯрд┐рдЩ рдиреЗрдЯрд╡рд░реНрдХрд╣рд░реВрдХреЛ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд╣рд░реВ рд╕рдореНрднрд╡рддрдГ рдкрд╛рдЗрдердирдХрд╛ рдХреЗрд╣реА рд╕рдп рд▓рд╛рдЗрдирд╣рд░реВ рдорд╛рддреНрд░ рдерд┐рдПред рд╕рд╛рдзрд╛рд░рдг (рдо рднреЛрд▓реА рднрдиреНрджрдЫреБ) рдПрд▓реНрдЧреЛрд░рд┐рджрдорд╣рд░реВ рдЬреБрди рдкреНрд▓реЗрдЯрдлрд░реНрдо рдмрдвреНрджреИ рдЬрд╛рдБрджрд╛ рд░ рдердк рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ рджреЗрдЦрд╛ рдкрд░реНрджрд╛ рдкрд░рд┐рд╖реНрдХреГрдд рдЧрд░рд┐рдпреЛред

рдЕрд╡рд╕реНрдерд┐рдд рдХреЛрдбрдХреЛ рд╡рд┐рд╕реНрддреГрдд рд░рд┐рдлреНрдпрд╛рдХреНрдЯрд░рд┐рдВрдЧ рдЖрд╡рд╢реНрдпрдХ рдерд┐рдПрдиред рдЦрд╛рд╕рдорд╛, резреи рдХрд╛рд░рдХ рдПрдкрд╣рд░реВ рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ рдорд╛рд░реНрдлрдд рдкреНрд░рд╛рдкреНрдд рдареЗрдЧрд╛рдирд╛ рдкреНрд░рддреНрдпрдХреНрд╖ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рдпреЛ рдХрд╕рд░реА рдЖрдзреБрдирд┐рдХ рд╕реЗрд╡рд╛ рдЬрд╛рд▓ рднрдиреНрджрд╛ рдлрд░рдХ рдЫ?

рд╕реАрдорд┐рдд рджреГрд╢реНрдпрддрд╛ред рд╣рд╛рдореАрд╕рдБрдЧ TCP рд░рд╛рдЙрдЯрд┐рдВрдЧ рдЬрд╛рд▓рдХреЛ рд▓рд╛рдЧрд┐ рдХреБрдиреИ рдкрдирд┐ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдерд┐рдПрдиред рдЬрдм рдпреЛ HTTP рд░рд╛рдЙрдЯрд┐рдЩрдХреЛ рдХреБрд░рд╛ рдЖрдЙрдБрдЫ, рдкрдЫрд┐рдХрд╛ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрд▓реЗ рддреНрд░реБрдЯрд┐ рдХреЛрдбрд╣рд░реВ рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордпрд╣рд░реВ рд╕рд╣рд┐рдд рд╡рд┐рд╕реНрддреГрдд HTTP рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рд╕реНрддреБрдд рдЧрд░реЗ, рддрд░ рдЖрдзреБрдирд┐рдХ рд╕реЗрд╡рд╛ рдореЗрд╕рд╣рд░реВ рдЕрдЭ рдЕрдЧрд╛рдбрд┐ рдЬрд╛рдиреНрдЫрдиреН, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдЬрд╕реНрддрд╛ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рд╕рдЩреНрдХрд▓рди рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрд╕рдБрдЧ рдПрдХреАрдХрд░рдг рдкреНрд░рджрд╛рди рдЧрд░реНрджреИред

рджреГрд╢реНрдпрддрд╛ рдХреЗрд╡рд▓ рдкрд░рд┐рдЪрд╛рд▓рди рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдпрдмрд╛рдЯ рдорд╛рддреНрд░ рд╣реЛрдЗрди (рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрди), рддрд░ рдирдпрд╛рдБ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдЬрд╛рд░реА рдЧрд░реНрджрд╛ рдкрдирд┐ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫред рдпреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рдХреЛ рдмрд╛рд░реЗ рдорд╛ рдЫ рдиреАрд▓реЛ рд╣рд░рд┐рдпреЛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди ╨╕ рдХреНрдпрд╛рдирд░реА рддреИрдирд╛рддреА.

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

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

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

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

рдкреНрд▓реЗрдЯрдлрд░реНрдо рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЯреНрд░рд╛рдлрд┐рдХ рд░реВрдЯрд┐рдЩ

рдареАрдХ рдЫ, рд╣рд╛рдореАрд▓реЗ рдПрдкреНрд▓рд┐рдХреЗрд╕рдирд╣рд░реВ рдмреАрдЪрдХреЛ рдЯреНрд░рд╛рдлрд┐рдХрдорд╛ рдЫрд▓рдлрд▓ рдЧрд░реЗрдХрд╛ рдЫреМрдВ, рддрд░ рдбрдЯрдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд░реНрдордХреЛ рдмрд╛рд░реЗрдорд╛ рдХреЗ рд╣реЛ?

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

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

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

рдпреА рд╕реЗрд╡рд╛рд╣рд░реВ рд╕рд░рд▓ рд░ рдХрдЪреНрдЪрд╛ рддрд░рд┐рдХрд╛рдорд╛ рдкрд░реНрджрд╛рдлрд╛рд╕ рдЧрд░рд┐рдПрдХрд╛ рдерд┐рдП: YAML рдлрд╛рдЗрд▓рд▓реЗ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдирд╛рдо рд░ рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рд╕реВрдЪреАрдмрджреНрдз рдЧрд░реЗрдХреЛ рдерд┐рдпреЛ; рд░ рдкреНрд░рддреНрдпреЗрдХ рдЧреНрд░рд╛рд╣рдХрд▓реЗ рдпреЛ YAML рдлрд╛рдЗрд▓рдХреЛ рдПрдХ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рд▓рд┐рдиреБ рдкрд░реНрдереНрдпреЛред

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

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

(рдпреЛ рдкрдирд┐ TLS рдЬрдбрд╛рдирд╣рд░реВрдорд╛ рдЯреНрд░рд╛рдлрд┐рдХрд▓рд╛рдИ рд╕рдореЗрдЯреНрдиреЗ рд░ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗ рдкрдХреНрд╖рдорд╛ рдЕрд░реНрдХреЛ рдкреНрд░реЛрдХреНрд╕реА рд╕рд░реНрднрд░ рд░рд╛рдЦреНрдиреЗ рдпреЛрдЬрдирд╛ рдерд┐рдпреЛ, рд╕рд╛рдереИ рдкреНрд░рд╛рдкреНрдд рд╕реЗрд╡рд╛рдХреЛ рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдмрд┐рдирд╛ TLS рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЧрд░реНрдиреЗ, рдЬреБрди рдЬрдбрд╛рдирд╣рд░реВ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрди рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХреЛ рдЫред localhostред рдпрд╕ рдмрд╛рд░реЗ рдкрдЫрд┐ рдердк)ред

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

рдо рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдкрдорд╛ SmartStack рд▓рд╛рдИ Istio, Linkerd рд░ Consul Connect рдЬрд╕реНрддрд╛ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдХреЛ рдкреВрд░реНрд╡рд╡рд░реНрддреА рдордзреНрдпреЗ рдПрдХ рдорд╛рдиреНрдЫреБ рдХрд┐рдирднрдиреЗ рддрд┐рдиреАрд╣рд░реВ рд╕рдмреИ рдПрдЙрдЯреИ рдврд╛рдБрдЪрд╛ рдкрдЫреНрдпрд╛рдЙрдБрдЫрдиреН:

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

рд╕реЗрд╡рд╛ рдЬрд╛рд▓рдХреЛ рдЖрдзреБрдирд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

рдпрджрд┐ рд╣рд╛рдореАрд▓реЗ рдЖрдЬ рд╕рдорд╛рди рдЧреНрд░рд┐рдб рд▓рд╛рдЧреВ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗ, рд╣рд╛рдореА рд╕рдорд╛рди рд╕рд┐рджреНрдзрд╛рдиреНрддрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЕрдиреНрддрд░рд┐рдХреНрд╖рдорд╛ рдареЗрдЧрд╛рдирд╛рд╣рд░реВрдорд╛ рд╕реЗрд╡рд╛ рдирд╛рдорд╣рд░реВ рдореНрдпрд╛рдк рдЧрд░реЗрд░ рдЖрдиреНрддрд░рд┐рдХ 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 рд╡рд╛ рдХрдиреНрд╕реБрд▓рдорд╛ рдирд┐рд░реНрднрд░ рд╣реБрдиреНрдЫред Istio рд▓реЗ Kubernetes рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рд╕реЗрдЯ рд╣реЗрд░реНрди Kubernetes API рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред

рдпрд╕ рдмреАрдЪрдорд╛ рд░ рддреНрдпрд╕рдкрдЫрд┐: рдореИрд▓реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдкрдорд╛ рдпреЛ рдЙрдкрдпреЛрдЧреА рдкрд╛рдПрдБ Kubernetes API рд╡рд┐рд╡рд░рдгрдЬрд╕рд▓реЗ рдкрдвреНрдЫ:

Kubernetes API рд╕рд░реНрднрд░ рдПрдХ "рдЧреВрдВрдЧрд╛ рд╕рд░реНрднрд░" рд╣реЛ рдЬрд╕рд▓реЗ API рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рднрдгреНрдбрд╛рд░рдг, рд╕рдВрд╕реНрдХрд░рдг, рдкреНрд░рдорд╛рдгреАрдХрд░рдг, рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ, рд░ рдЕрд░реНрдерд╢рд╛рд╕реНрддреНрд░ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред

Istio Kubernetes рд╕рдВрдЧ рдХрд╛рдо рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рдЫ; рд░ рдпрджрд┐ рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ Kubernetes рдмрд╛рд╣рд┐рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБрд▓реЗ Kubernetes API рд╕рд░реНрднрд░ (рд░ etcd рд╕рд╣рд╛рдпрдХ рд╕реЗрд╡рд╛) рдХреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЪрд▓рд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫред

рд╕реЗрд╡рд╛ рдареЗрдЧрд╛рдирд╛рд╣рд░реВ

Istio ClusterIP рдареЗрдЧрд╛рдирд╛рд╣рд░реВрдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджрдЫ рдЬреБрди Kubernetes рдЖрд╡рдВрдЯрд┐рдд рдЧрд░реНрджрдЫ, рддреНрдпрд╕реИрд▓реЗ Istio рд╕реЗрд╡рд╛рд╣рд░реВрд▓реЗ рдЖрдиреНрддрд░рд┐рдХ рдареЗрдЧрд╛рдирд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫ (рджрд╛рдпрд░рд╛рдорд╛ рд╣реЛрдЗрдиред 127.0.0.0/8).

Istio рдмрд┐рдирд╛ Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕реЗрд╡рд╛рдХреЛ рд▓рд╛рдЧрд┐ ClusterIP рдареЗрдЧрд╛рдирд╛рдорд╛ рдЯреНрд░рд╛рдлрд┐рдХ kube-proxy рджреНрд╡рд╛рд░рд╛ рд░реЛрдХрд┐рдиреНрдЫ рд░ рдкреНрд░реЛрдХреНрд╕реАрдХреЛ рдмреНрдпрд╛рдХрдЗрдиреНрдбрдорд╛ рдкрдард╛рдЗрдиреНрдЫред рдпрджрд┐ рддрдкрд╛рдЗрдБ рдкреНрд░рд╛рд╡рд┐рдзрд┐рдХ рд╡рд┐рд╡рд░рдгрд╣рд░реВрдорд╛ рд░реБрдЪрд┐ рд░рд╛рдЦреНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, kube-proxy рд▓реЗ ClusterIP рдареЗрдЧрд╛рдирд╛рдорд╛ рдЬрд╛рдиреЗ рдЧрдиреНрддрд╡реНрдп рдЖрдИрдкреА рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рдкреБрди: рд▓реЗрдЦреНрдирдХреЛ рд▓рд╛рдЧрд┐ 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) рдорд╛рд░реНрдлрдд рдПрдиреНрдб-рдЯреБ-рдЗрдиреНрдб рдЗрдиреНрдХреНрд░рд┐рдкреНрд╕рди рд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкрдирд┐ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред рдХрдореНрдкреЛрдиреЗрдиреНрдЯ рднрдирд┐рдиреНрдЫ Citadel.

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

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

рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд╡рд╛ рдХрд┐рдиреНрдиреБрд╣реЛрд╕реН

Istio рдЬрдЯрд┐рд▓ рд╣реБрдиреБрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рддрд┐рд╖реНрдард╛ рдЫред рдпрд╕рдХреЛ рд╡рд┐рдкрд░рд┐рдд, рдореИрд▓реЗ рдпрд╕ рдкреЛрд╖реНрдЯрдХреЛ рд╕реБрд░реБрдорд╛ рд╡рд░реНрдгрди рдЧрд░реЗрдХреЛ рд░реВрдЯрд┐рдЩ рдЬрд╛рд▓ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдиреБ рдЕрд╡рд╕реНрдерд┐рдд рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рдЫред рддреНрдпрд╕реЛрднрдП, рдХреЗ рдпрд╕рдХреЛ рд╕рдЯреНрдЯрд╛рдорд╛ рдЖрдлреНрдиреИ рд╕реЗрд╡рд╛ рдЬрд╛рд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЕрд░реНрде рдЫ?

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

рддрд░ рдпрджрд┐ рд╣рд╛рдореАрд╕рдБрдЧ рдЙрдиреНрдирдд рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ рдЫрдиреН рднрдиреЗ, рд╕реЗрд╡рд╛ рдЬрд╛рд▓ "рдЦрд░реАрдж" рдзреЗрд░реИ рд░рд╛рдореНрд░реЛ рд╡рд┐рдХрд▓реНрдк рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫред (рдпреЛ рд╕рдзреИрдВ "рдХрд┐рдиреНрдиреБрд╣реЛрд╕реН" рд╣реЛрдЗрди рдХрд┐рдирднрдиреЗ Istio рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╣реЛ, рддрд░ рд╣рд╛рдореАрд▓реЗ рдЕрдЭреИ рдкрдирд┐ рдпрд╕рд▓рд╛рдИ рдмреБрдЭреНрди, рдбрд┐рдкреНрд▓реЛрдп рдЧрд░реНрди рд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди рдЗрдиреНрдЬрд┐рдирд┐рдпрд░рд┐рдЩ рд╕рдордп рд▓рдЧрд╛рдиреА рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред)

рдХреЗ рдореИрд▓реЗ Istio, Linkerd рд╡рд╛ Consul Connect рд░реЛрдЬреНрдиреБрдкрд░реНрдЫ?

рдЕрд╣рд┐рд▓реЗрд╕рдореНрдо рд╣рд╛рдореАрд▓реЗ Istio рдХреЛ рдмрд╛рд░реЗрдорд╛ рдорд╛рддреНрд░ рдХреБрд░рд╛ рдЧрд░реЗрдХрд╛ рдЫреМрдВ, рддрд░ рдпреЛ рдорд╛рддреНрд░ рд╕реЗрд╡рд╛ рдЬрд╛рд▓ рд╣реЛрдЗрдиред рд▓реЛрдХрдкреНрд░рд┐рдп рд╡рд┐рдХрд▓реНрдк - рд▓рд┐рдЩреНрдХрд░реНрдб, рд░ рддреНрдпрд╣рд╛рдБ рдердк рдЫ рдХрдиреНрд╕реБрд▓ рдЬрдбрд╛рди.

рдХреЗ рдЫрдиреМрдЯ рдЧрд░реНрдиреЗ?

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

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

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

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

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