Istio рдордзреНрдпреЗ рдЧрдбрдж рд▓рд╛рдБрдЪ: рдЧреБрдкреНрдд рд╕реЗрд╡рд╛

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

Istio рдордзреНрдпреЗ рдЧрдбрдж рд▓рд╛рдБрдЪ: рдЧреБрдкреНрдд рд╕реЗрд╡рд╛

рдЖрдгрд┐ Istio, OpenShift рдЖрдгрд┐ Kubernetes рд╕рд╣ рдПрдХрддреНрд░рд┐рддрдкрдгреЗ, рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕ рддреИрдирд╛рдд рдХрд░рдгреЗ рдЦрд░реЛрдЦрд░ рдХрдВрдЯрд╛рд│рд╡рд╛рдгреЗ рдЖрдгрд┐ рдЕрдВрджрд╛рдЬ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдмрдирд╡рддреЗ - рдЖрдгрд┐ рддреЗ рдЫрд╛рди рдЖрд╣реЗ. рдЗрд╕реНрдЯрд┐рдУ рдорд╛рд▓рд┐рдХреЗрддреАрд▓ рдЪреМрдереНрдпрд╛ рдЖрдгрд┐ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рдкреЛрд╕реНрдЯрдордзреНрдпреЗ рдЖрдореНрд╣реА рдпрд╛рдмрджреНрджрд▓ рдЖрдгрд┐ рдмрд░реЗрдЪ рдХрд╛рд╣реА рдмреЛрд▓реВ.

рдЬреЗрд╡реНрд╣рд╛ рдХрдВрдЯрд╛рд│рд╛ рдпреЛрдЧреНрдп рдЕрд╕рддреЛ

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

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

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

рдХрдВрдЯрд╛рд│рд╛ рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреЗ рдордиреЛрд░рдВрдЬрдХ рдЖрд╣реЗ

рдЦрд╛рд▓реАрд▓ Istio рд░рд╛рдЙрдЯрд┐рдВрдЧ рдирд┐рдпрдорд╛рд╡рд░ рдПрдХ рдирдЬрд░ рдЯрд╛рдХрд╛, рдЬреЗ рд╕рд░реНрд╡ HTTP рд╡рд┐рдирдВрддреНрдпрд╛ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕ рд╢рд┐рдлрд╛рд░рд╕ v1 рд╡рд░ рд░реВрдЯ рдХрд░рддреЗ (рд╕рд░реНрд╡ рдЙрджрд╛рд╣рд░рдгреЗ Istio рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ GitHub рд░реЗрдкреЛ), рддреНрдпрд╛рдВрдирд╛ рдПрдХрд╛рдЪ рд╡реЗрд│реА рд╢рд┐рдлрд╛рд░рд╕ v2 microservice рд╡рд░ рдорд┐рд░рд░ рдХрд░рддрд╛рдирд╛:

Istio рдордзреНрдпреЗ рдЧрдбрдж рд▓рд╛рдБрдЪ: рдЧреБрдкреНрдд рд╕реЗрд╡рд╛
рд▓реЗрдмрд▓рдХрдбреЗ рд▓рдХреНрд╖ рджреНрдпрд╛ mirror: рд╕реНрдХреНрд░реАрдирдЪреНрдпрд╛ рддрд│рд╛рд╢реА - рд╣реЗрдЪ рдЯреНрд░реЕрдлрд┐рдХ рдорд┐рд░рд░рд┐рдВрдЧ рд╕реЗрдЯ рдХрд░рддреЗ. рд╣реЛрдп, рддреЗ рдЗрддрдХреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ!

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

рдЪрд▓рд╛ рдирд╛рдЯрдХ рдЬреЛрдбреВрдпрд╛

рдХреГрдкрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдШреНрдпрд╛ рдХреА v2 рдХреЛрдбрдордзреНрдпреЗ рдЕрд╢рд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд рдкреНрд░рджрд╛рди рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЬреЗрдереЗ рдпреЗрдгрд╛рд▒реНрдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛рдВрдореБрд│реЗ рдбреЗрдЯрд╛ рдмрджрд▓реВ рд╢рдХрддрд╛рдд. рд╡рд┐рдирдВрддреНрдпрд╛ рд╕реНрд╡рддрдГ рд╕рд╣рдЬ рдЖрдгрд┐ рдкрд╛рд░рджрд░реНрд╢рдХрдкрдгреЗ рдорд┐рд░рд░ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд, рдкрд░рдВрддреБ рдЪрд╛рдЪрдгреАрдордзреНрдпреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрджреНрдзрддреАрдЪреА рдирд┐рд╡рдб рдЖрдкрд▓реНрдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЖрд╣реЗ тАУ рдЖрдгрд┐ рд╣реА рдереЛрдбреА рдЪрд┐рдВрддрд╛рдЬрдирдХ рдЖрд╣реЗ.

рдЪрд▓рд╛ рдПрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рдореБрджреНрджрд╛ рдкреБрдиреНрд╣рд╛ рдХрд░реВрдпрд╛

рдЯреНрд░реЕрдлрд┐рдХ рдорд┐рд░рд░рд┐рдВрдЧрд╕рд╣ рдЧреБрдкреНрдд рдкреНрд░рдХреНрд╖реЗрдкрдг (рдбрд╛рд░реНрдХ рд▓рд╛рдБрдЪ/рд╡рд┐рдирдВрддреА рдорд┐рд░рд░рд┐рдВрдЧ) рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рдХрд╛рд░реЗ рдХреЛрдбрд╡рд░ рдкрд░рд┐рдгрд╛рдо рди рдХрд░рддрд╛ рдХрд░рддрд╛ рдпреЗрддреЗ.

рд╡рд┐рдЪрд╛рд░рд╛рдВрд╕рд╛рдареА рдЕрдиреНрди

рдЬреНрдпрд╛ рдард┐рдХрд╛рдгреА рд╡рд┐рдирдВрддреНрдпрд╛ рдорд┐рд░рд░ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рддреНрдпрд╛ рдард┐рдХрд╛рдгрд╛рдкреИрдХреА рдХрд╛рд╣реА v1 рд╡рд░ рдирд╛рд╣реА рддрд░ v2 рд╡рд░ рдкрд╛рдард╡рд▓реНрдпрд╛ рддрд░? рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕рд░реНрд╡ рд╡рд┐рдирдВрддреНрдпрд╛рдВрдкреИрдХреА рдПрдХ рдЯрдХреНрдХрд╛ рдХрд┐рдВрд╡рд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЧрдЯрд╛рдХрдбреВрди рдЖрд▓реЗрд▓реНрдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛. рдЖрдгрд┐ рдордЧ, рдЖрдзреАрдЪ v2 рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рддреЗ рдкрд╣рд╛рдд, рд╣рд│реВрд╣рд│реВ рд╕рд░реНрд╡ рд╡рд┐рдирдВрддреНрдпрд╛ рдирд╡реАрди рдЖрд╡реГрддреНрддреАрд╡рд░ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рд╛. рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдЙрд▓рдЯ, v1 рдордзреНрдпреЗ рдХрд╛рд╣реАрддрд░реА рдЪреВрдХ рдЭрд╛рд▓реНрдпрд╛рд╕ рд╕рд░реНрд╡ рдХрд╛рд╣реА v2 рд╡рд░ рдкрд░рдд рдХрд░рд╛. рдорд▓рд╛ рд╡рд╛рдЯрддреЗ рдпрд╛рд▓рд╛ рдХреЕрдирд░реА рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рдореНрд╣рдгрддрд╛рдд. рдЦрд╛рдгрдХрд╛рдо рдХрдбреЗ рдкрд░рдд рдЬрд╛рддреЗ, рдЖрдгрд┐ рдЬрд░ рддреЗ рд░рд╢рд┐рдпрди рд╡рдВрд╢рд╛рдЪреЗ рдЕрд╕реЗрд▓ рддрд░ рдХрджрд╛рдЪрд┐рдд рддреНрдпрд╛рдд рд╕рдВрджрд░реНрдн рдЕрд╕реЗрд▓ рдорд╛рдВрдЬрд░реА), рдЖрдгрд┐ рдЖрддрд╛ рдЖрдореНрд╣реА рд╣реЗ рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓рд╡рд╛рд░ рдкрд╛рд╣реВ.

Istio рдордзреНрдпреЗ рдХреЕрдирд░реА рддреИрдирд╛рддреА: рдХрдорд┐рд╢рдирд┐рдВрдЧ рд╕реБрд▓рдн рдХрд░рдгреЗ

рдХрд╛рд│рдЬреАрдкреВрд░реНрд╡рдХ рдЖрдгрд┐ рд╣рд│реВрд╣рд│реВ

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

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

рдмреНрд░рд╛рдЙрдЭрд░ рдлрд┐рд▓реНрдЯрд░ рдХрд░рдд рдЖрд╣реЗ

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

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

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

Istio рдордзреНрдпреЗ рдЧрдбрдж рд▓рд╛рдБрдЪ: рдЧреБрдкреНрдд рд╕реЗрд╡рд╛

рдЕрдорд░реНрдпрд╛рджрд┐рдд рд╢рдХреНрддреА

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

Istio рдордзреНрдпреЗ рдЧрдбрдж рд▓рд╛рдБрдЪ: рдЧреБрдкреНрдд рд╕реЗрд╡рд╛
рдЖрддрд╛рдкрд░реНрдпрдВрдд рддреБрдореНрд╣рд╛рд▓рд╛ рдХрджрд╛рдЪрд┐рдд рд░реЗрдЧреНрдпреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рдиреНрд╕ рдХрд╛рдп рдХрд░реВ рд╢рдХрддрд╛рдд рдпрд╛рдЪреА рдХрд▓реНрдкрдирд╛ рдЖрд▓реА рдЕрд╕реЗрд▓.

рд╕реНрдорд╛рд░реНрдЯ рдХреГрддреА рдХрд░рд╛

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

рд╕реНрд╡рд╛рд░рд╕реНрдп рдЖрд╣реЗ?

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

Istio Egress: рд╕реНрдорд░рдгрд┐рдХрд╛ рджреБрдХрд╛рдирд╛рддреВрди рдмрд╛рд╣реЗрд░ рдкрдбрд╛

Red Hat OpenShift рдЖрдгрд┐ Kubernetes рд╕реЛрдмрдд Istio рд╡рд╛рдкрд░реВрди, рддреБрдореНрд╣реА рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕рд╕рд╣ рддреБрдордЪреЗ рдЬреАрд╡рди рдЦреВрдк рд╕реЛрдкреЗ рдмрдирд╡реВ рд╢рдХрддрд╛. Istio рдЪреА рд╕реЗрд╡рд╛ рдЬрд╛рд│реА Kubernetes рдкреЙрдбреНрд╕рдордзреНрдпреЗ рд▓рдкрд▓реЗрд▓реА рдЕрд╕рддреЗ рдЖрдгрд┐ рддреБрдордЪрд╛ рдХреЛрдб (рдмрд╣реБрддреЗрдХ) рдЕрд▓рдЧрд╛рд╡рдордзреНрдпреЗ рдЪрд╛рд▓рддреЛ. рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди, рдмрджрд▓рд╛рдЪреА рд╕реБрд▓рднрддрд╛, рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдЗ. тАУ рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдВрдЯреЗрдирд░рдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рдореБрд│реЗ рд╣реЗ рд╕рд░реНрд╡ рд╡рд╛рдкрд░рдгреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ. рдкрдг рддреБрдордЪреНрдпрд╛ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕рд▓рд╛ рддреБрдордЪреНрдпрд╛ OpenShift-Kubernetes рд╕рд┐рд╕реНрдЯреАрдордЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЗрддрд░ рд╕реЗрд╡рд╛рдВрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рд▓реНрдпрд╛рд╕?

рдпреЗрдереЗрдЪ рдЗрд╕реНрдЯрд┐рдУ рдПрдЧреНрд░реЗрд╕ рдмрдЪрд╛рд╡рд╛рд╕рд╛рдареА рдпреЗрддреЛ. рдереЛрдбрдХреНрдпрд╛рдд, рддреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рддреБрдордЪреНрдпрд╛ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдкреЙрдбреНрд╕рдЪреНрдпрд╛ рд╕рд┐рд╕реНрдЯрдордЪрд╛ рднрд╛рдЧ рдирд╕рд▓реЗрд▓реНрдпрд╛ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдордзреНрдпреЗ (рд╡рд╛рдЪрд╛: тАЬрд╕реЗрд╡рд╛тАЭ) рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рдЬрд░ рддреБрдореНрд╣реА рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдХреЗрд▓реЗ рдирд╛рд╣реА, рддрд░ Istio Egress рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд рдЯреНрд░реЕрдлрд┐рдХ рдлрдХреНрдд рдкреЙрдбреНрд╕рдЪреНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдЖрдгрд┐ рдЕрдВрддрд░реНрдЧрдд IP рдЯреЗрдмрд▓реНрд╕рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЕрд╢рд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рд░рд╛рдЙрдЯ рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рдЖрдгрд┐ рдЬреЛрдкрд░реНрдпрдВрдд рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдмрд╛рд╣реЗрд░реВрди рд╕реЗрд╡рд╛рдВрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА рддреЛрдкрд░реНрдпрдВрдд рдЕрд╕реЗ рдкреНрдпреБрдкреЗрд╢рди рдЙрддреНрддрдо рдХрд╛рд░реНрдп рдХрд░рддреЗ.

Egress рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд░реАрд▓ IP рд╕рд╛рд░рдгреНрдпрд╛рдВрдирд╛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ, рдПрдХрддрд░ Egress рдирд┐рдпрдорд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдХрд┐рдВрд╡рд╛ IP рдкрддреНрддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╢реНрд░реЗрдгреАрд╡рд░.

рд╕рдордЬрд╛ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЖрд╣реЗ рдЬреЛ httpbin.org/headers рд▓рд╛ GET рд╡рд┐рдирдВрддреА рдХрд░рддреЛ.

(httpbin.org рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рд╕реЗрд╡рд╛ рд╡рд┐рдирдВрддреНрдпрд╛ рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА рдлрдХреНрдд рдПрдХ рд╕реЛрдпреАрд╕реНрдХрд░ рд╕рдВрд╕рд╛рдзрди рдЖрд╣реЗ.)

рдЖрдкрдг рдХрдорд╛рдВрдб рд▓рд╛рдЗрдирд╡рд░ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реНрдпрд╛рд╕ curl http://httpbin.org/headers, рдЖрдореНрд╣реА рдЦрд╛рд▓реАрд▓ рдкрд╛рд╣реВ:

Istio рдордзреНрдпреЗ рдЧрдбрдж рд▓рд╛рдБрдЪ: рдЧреБрдкреНрдд рд╕реЗрд╡рд╛
рдХрд┐рдВрд╡рд╛ рддреБрдореНрд╣реА рддреЛрдЪ рдкрддреНрддрд╛ рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рдЙрдШрдбреВ рд╢рдХрддрд╛:

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

рдЖрдпрд╛рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реЗрдб-рдСрди

рдЖрддрд╛ рдпрд╛ рд╕реЗрд╡реЗрдЪрд╛ рдЬрд╛рд╡рд╛ рдХреЛрдб рдШреЗрдК, рдЬреЛ рдЖрдордЪреНрдпрд╛ рд╕рд┐рд╕реНрдЯреАрдорд╕рд╛рдареА рдмрд╛рд╣реНрдп рдЖрд╣реЗ рдЖрдгрд┐ рддреЛ рд╕реНрд╡рддрдГ рдЪрд╛рд▓рд╡реВ, рдЬрд┐рдереЗ, рд░рд┐рдХреЙрд▓, Istio рд╕реНрдерд╛рдкрд┐рдд рдЖрд╣реЗ. (рддреБрдореНрд╣реА рд╕рдВрдкрд░реНрдХ рдХрд░реВрди рд╣реЗ рд╕реНрд╡рддрдГ рдХрд░реВ рд╢рдХрддрд╛ рдЖрдордЪреЗ Istio рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓.) рдпреЛрдЧреНрдп рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛рд╡рд░ рдЖрдгрд┐ рддреА OpenShift рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░ рд▓реЙрдиреНрдЪ рдХреЗрд▓реНрдпрд╛рд╡рд░, рдЖрдореНрд╣реА рдпрд╛ рд╕реЗрд╡реЗрд▓рд╛ рдХрдорд╛рдВрдбрд╕рд╣ рдХреЙрд▓ рдХрд░реВ. curl egresshttpbin-istioegress.$(minishift ip).nip.io, рдЬреНрдпрд╛рдирдВрддрд░ рдЖрдкрдг рд╣реЗ рд╕реНрдХреНрд░реАрдирд╡рд░ рдкрд╛рд╣реВ:

Istio рдордзреНрдпреЗ рдЧрдбрдж рд▓рд╛рдБрдЪ: рдЧреБрдкреНрдд рд╕реЗрд╡рд╛
рдЕрд░реЗрд░реЗ, рдХрд╛рдп рдЭрд╛рд▓реЗ? рд╕рд░реНрд╡ рдХрд╛рд╣реА рдлрдХреНрдд рдХрд╛рдо рдХреЗрд▓реЗ. рдиреЙрдЯ рдлрд╛рдЙрдВрдб рдореНрд╣рдгрдЬреЗ рдХрд╛рдп? рдЖрдореНрд╣реА рдлрдХреНрдд рддреНрдпрд╛рдЪреНрдпрд╛рд╕рд╛рдареА рд╣реЗ рдХреЗрд▓реЗ curl.

рд╕рдВрдкреВрд░реНрдг рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░ IP рд╕рд╛рд░рдгреНрдпрд╛рдВрдЪрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдгреЗ

рдпрд╛рд╕рд╛рдареА рдЗрд╕реНрдЯрд┐рдУрд▓рд╛ рджреЛрд╖ рджрд┐рд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ (рдХрд┐рдВрд╡рд╛ рдЖрднрд╛рд░ рдорд╛рдирд▓реЗ рдкрд╛рд╣рд┐рдЬреЗрдд). рд╢реЗрд╡рдЯреА, рдЗрд╕реНрдЯрд┐рдУ рд╣реЗ рдлрдХреНрдд рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдВрдЯреЗрдирд░ рдЖрд╣реЗрдд рдЬреЗ рд╢реЛрдз рдЖрдгрд┐ рдорд╛рд░реНрдЧрд╛рд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЖрд╣реЗрдд (рдЖрдгрд┐ рдЗрддрд░ рдмрд▒реНрдпрд╛рдЪ рдЧреЛрд╖реНрдЯреА рдЬреНрдпрд╛рдмрджреНрджрд▓ рдЖрдореНрд╣реА рдЖрдзреА рдмреЛрд▓рд▓реЛ рд╣реЛрддреЛ). рдпрд╛ рдХрд╛рд░рдгрд╛рд╕реНрддрд╡, рддреБрдордЪреНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░ рд╕рд┐рд╕реНрдЯреАрдордордзреНрдпреЗ рдХрд╛рдп рдЖрд╣реЗ рд╣реЗ рдлрдХреНрдд IP рд╕рд╛рд░рдгреНрдпрд╛рдВрдирд╛рдЪ рдХрд│рддреЗ. рдЖрдгрд┐ httpbin.org рдмрд╛рд╣реЗрд░ рд╕реНрдерд┐рдд рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рдореБрд│реЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдирд╛рд╣реА. рдЖрдгрд┐ рдЗрдереЗрдЪ Istio Egress рдмрдЪрд╛рд╡рд╛рд╕рд╛рдареА рдпреЗрддреЛ - рддреБрдордЪреНрдпрд╛ рд╕реЛрд░реНрд╕ рдХреЛрдбрдордзреНрдпреЗ рдереЛрдбрд╛рд╕рд╛рд╣реА рдмрджрд▓ рди рдХрд░рддрд╛.

рдЦрд╛рд▓реАрд▓ Egress рдирд┐рдпрдо Istio рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рд╕реЗрд╡реЗрд╕рд╛рдареА (рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рд╕, рд╕рдВрдкреВрд░реНрдг рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░) рд╢реЛрдзрдгреНрдпрд╛рд╕ рднрд╛рдЧ рдкрд╛рдбрддреЛ, рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, httpbin.org. рддреБрдореНрд╣реА рдпрд╛ рдлрд╛рдЗрд▓рдордзреВрди (egress_httpbin.yml) рдкрд╛рд╣реВ рд╢рдХрддрд╛, рдпреЗрдереЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЕрдЧрджреА рд╕реЛрдкреА рдЖрд╣реЗ:

Istio рдордзреНрдпреЗ рдЧрдбрдж рд▓рд╛рдБрдЪ: рдЧреБрдкреНрдд рд╕реЗрд╡рд╛
рд╣рд╛ рдирд┐рдпрдо рд▓рд╛рдЧреВ рдХрд░рдгреЗ рдмрд╛рдХреА рдЖрд╣реЗ:

istioctl create -f egress_httpbin.yml -n istioegress

рддреБрдореНрд╣реА рдХрдорд╛рдВрдбрд╕рд╣ Egress рдирд┐рдпрдо рдкрд╛рд╣реВ рд╢рдХрддрд╛ istioctl get egressrules:

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

Istio рдордзреНрдпреЗ рдЧрдбрдж рд▓рд╛рдБрдЪ: рдЧреБрдкреНрдд рд╕реЗрд╡рд╛

рдЖрдореНрд╣реА рдЦреБрд▓реЗрдкрдгрд╛рдиреЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЛ

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

рдЗрд╕реНрдЯрд┐рдУрд╡рд░реАрд▓ рдорд╛рд▓рд┐рдХреЗрддреАрд▓ рд╣реА рд╢реЗрд╡рдЯрдЪреА рдкреЛрд╕реНрдЯ рд╣реЛрддреА. рд╕рдВрдкрд░реНрдХрд╛рдд рд░рд╣рд╛ - рдкреБрдвреЗ рдмрд▒реНрдпрд╛рдЪ рдордиреЛрд░рдВрдЬрдХ рдЧреЛрд╖реНрдЯреА рдЖрд╣реЗрдд!

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

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