рдЙрддреНрдкрд╛рджрдирд╛рдд Istio рдЖрдгрд┐ Kubernetes. рднрд╛рдЧ 2. рдЯреНрд░реЗрд╕рд┐рдВрдЧ

рд╢реЗрд╡рдЯреА рд▓реЗрдЦ рдЖрдореНрд╣реА рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢ рдЗрд╕реНрдЯрд┐рдУрдЪреЗ рдореВрд▓рднреВрдд рдШрдЯрдХ рдкрд╛рд╣рд┐рд▓реЗ, рд╕рд┐рд╕реНрдЯрдорд╢реА рдкрд░рд┐рдЪрд┐рдд рдЭрд╛рд▓реЛ рдЖрдгрд┐ рдЗрд╕реНрдЯрд┐рдУрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕ рдкреНрд░рд╛рд░рдВрдн рдХрд░рддрд╛рдирд╛ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдЙрджреНрднрд╡рдгрд╛рд░реНтАНрдпрд╛ рдореБрдЦреНрдп рдкреНрд░рд╢реНрдирд╛рдВрдЪреА рдЙрддреНрддрд░реЗ рджрд┐рд▓реА. рдпрд╛ рднрд╛рдЧрд╛рдд рдЖрдкрдг рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдорд╛рд╣рд┐рддреАрдЪреЗ рд╕рдВрдХрд▓рди рдХрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рд╛рдпрдЪреЗ рддреЗ рдкрд╛рд╣реВ.

рдЙрддреНрдкрд╛рджрдирд╛рдд Istio рдЖрдгрд┐ Kubernetes. рднрд╛рдЧ 2. рдЯреНрд░реЗрд╕рд┐рдВрдЧ

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

рдЧреИрд░рд╕рдордЬ рдХреНрд░рдорд╛рдВрдХ рдПрдХ: рдЖрдореНрд╣реА рдСрдирд▓рд╛рдЗрди рд╣рд╛рдпрдХрд┐рдВрдЧ рдбреЗрдЯрд╛ рд╡рд┐рдирд╛рдореВрд▓реНрдп рдорд┐рд│рд╡реВ рд╢рдХрддреЛ.

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

рдкреНрд░рдердо, рдЗрд╕реНрдЯрд┐рдУрдордзреНрдпреЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рддреВрди рдкрд╛рдард╡рдгреНрдпрд╛рдЪреЗ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рд╕реНрдкреЕрди рдХрд╕реЗ рджрд┐рд╕рддреЗ рддреЗ рдкрд╛рд╣реВ. рдкрд╣рд┐рд▓реНрдпрд╛ рднрд╛рдЧрд╛рдкрд╛рд╕реВрди рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЖрдард╡рддреЗ рдХреА, рдЯреЗрд▓реАрдореЗрдЯреНрд░реА рдЧреЛрд│рд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА Istio рдордзреНрдпреЗ рдорд┐рдХреНрд╕рд░ рдирд╛рд╡рд╛рдЪрд╛ рдПрдХ рд╡реЗрдЧрд│рд╛ рдШрдЯрдХ рдЖрд╣реЗ. рддрдерд╛рдкрд┐, рд╡рд░реНрддрдорд╛рди рдЖрд╡реГрддреНрддреА 1.0.* рдордзреНрдпреЗ, рдкрд╛рдард╡рдгреЗ рдереЗрдЯ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡реНрд╣рд░рд╡рд░реВрди рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдореНрд╣рдгрдЬреЗ, рджреВрдд рдкреНрд░реЙрдХреНрд╕реАрдХрдбреВрди. рдПрдиреНрд╡реНрд╣реЙрдп рдкреНрд░реЙрдХреНрд╕реА рдмреЙрдХреНрд╕рдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рдЭрд┐рдкрдХрд┐рди рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╡рд╛рдкрд░реВрди рдЯреНрд░реЗрд╕рд┐рдВрдЧ рд╕реНрдкреЕрди рдкрд╛рдард╡рдгреНрдпрд╛рд╕ рд╕рдорд░реНрдерди рджреЗрддреЗ. рдЗрддрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрдиреЗрдХреНрдЯ рдХрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ, рдкрд░рдВрддреБ рдХреЗрд╡рд│ рдкреНрд▓рдЧрдЗрдирджреНрд╡рд╛рд░реЗ. Istio рд╕рд╣ рдЖрдореНрд╣рд╛рд▓рд╛ рддрд╛рдмрдбрддреЛрдм рдПрдХрддреНрд░рд┐рдд рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗрд▓реА рджреВрдд рдкреНрд░реЙрдХреНрд╕реА рдорд┐рд│рддреЗ, рдЬреА рдлрдХреНрдд рдЭрд┐рдкрдХрд┐рди рдкреНрд░реЛрдЯреЛрдХреЙрд▓рд▓рд╛ рд╕рдкреЛрд░реНрдЯ рдХрд░рддреЗ. рдЬрд░ рдЖрдореНрд╣рд╛рд▓рд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, Jaeger рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╡рд╛рдкрд░рд╛рдпрдЪрд╛ рдЕрд╕реЗрд▓ рдЖрдгрд┐ UDP рджреНрд╡рд╛рд░реЗ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рд╕реНрдкреЕрди рдкрд╛рдард╡рд╛рдпрдЪрд╛ рдЕрд╕реЗрд▓, рддрд░ рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдордЪреА рд╕реНрд╡рддрдГрдЪреА istio-proxy рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рд╛рд╡реА рд▓рд╛рдЧреЗрд▓. istio-proxy рд╕рд╛рдареА рд╕рд╛рдиреБрдХреВрд▓ рдкреНрд▓рдЧрдЗрдирд╕рд╛рдареА рд╕рдорд░реНрдерди рдЖрд╣реЗ, рдкрд░рдВрддреБ рддреЗ рдЕрджреНрдпрд╛рдк рдЕрд▓реНрдлрд╛ рдЖрд╡реГрддреНрддреАрдордзреНрдпреЗ рдЖрд╣реЗ. рдореНрд╣рдгреВрди, рдЖрдореНрд╣рд╛рд▓рд╛ рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рд╕рд╛рдиреБрдХреВрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрд╢рд┐рд╡рд╛рдп рдХрд░рд╛рдпрдЪреЗ рдЕрд╕рд▓реНрдпрд╛рд╕, рдЯреНрд░реЗрд╕рд┐рдВрдЧ рд╕реНрдкреЕрдиреНрд╕ рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдЪреА рд╢реНрд░реЗрдгреА рдХрдореА рдХреЗрд▓реА рдЬрд╛рддреЗ. рдореБрдЦреНрдп рдкреНрд░рдгрд╛рд▓реАрдВрдкреИрдХреА, рдЦрд░рдВ рддрд░, рдЖрддрд╛ рддреБрдореНрд╣реА рд╕реНрд╡рддрдГ Zipkin рдХрд┐рдВрд╡рд╛ Jaeger рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛, рдкрд░рдВрддреБ zipkin рд╕реБрд╕рдВрдЧрдд рдкреНрд░реЛрдЯреЛрдХреЙрд▓ (рдЬреЗ рдЦреВрдкрдЪ рдХрдореА рдХрд╛рд░реНрдпрдХреНрд╖рдо рдЖрд╣реЗ) рд╡рд╛рдкрд░реВрди рд╕рд░реНрд╡рдХрд╛рд╣реА рддреЗрдереЗ рдкрд╛рдард╡реВ рд╢рдХрддрд╛. рдЭрд┐рдкрдХрд┐рди рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдордзреНрдпреЗ HTTP рдкреНрд░реЛрдЯреЛрдХреЙрд▓рджреНрд╡рд╛рд░реЗ рд╕рд░реНрд╡ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдорд╛рд╣рд┐рддреА рд╕рдВрдЧреНрд░рд╛рд╣рдХрд╛рдВрдирд╛ рдкрд╛рдард╡рдгреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ, рдЬреЗ рдЦреВрдк рдорд╣рд╛рдЧ рдЖрд╣реЗ.

рдореА рдЖрдзреАрдЪ рдореНрд╣рдЯрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдЖрдореНрд╣рд╛рд▓рд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рди-рд╕реНрддрд░реАрдп рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЯреНрд░реЗрд╕ рдХрд░рд╛рдпрдЪреЗ рдЖрд╣реЗрдд. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдХреА рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡реЗрдЪреНрдпрд╛ рд╢реЗрдЬрд╛рд░реА рдЙрднреНрдпрд╛ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡реНрд╣рд░рдирд╛ рдЖрддрд╛ рдХреЛрдгрддреНрдпрд╛ рдкреНрд░рдХрд╛рд░рдЪрд╛ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рдж рд╣реЛрдд рдЖрд╣реЗ рд╣реЗ рд╕рдордЬрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ. рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, Istio рд╕рд░реНрд╡ рдкреЛрд░реНрдЯреНрд╕ рдкреНрд▓реЗрди TCP рдореНрд╣рдгреВрди рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рддреЗ, рдпрд╛рдЪрд╛ рдЕрд░реНрде рдХреЛрдгрддрд╛рд╣реА рдЯреНрд░реЗрд╕ рдкрд╛рдард╡рд▓рд╛ рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реА. рдЯреНрд░реЗрд╕ рдкрд╛рдард╡рдгреНтАНрдпрд╛рд╕рд╛рдареА, рддреБрдореНтАНрд╣реА, рд╕рд░реНрд╡рдкреНрд░рдердо, рд╣рд╛ рдкрд░реНрдпрд╛рдп рдореБрдЦреНрдп рдореЗрд╢ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреНтАНрдпреЗ рд╕рдХреНрд╖рдо рдХрд░рдгреЗ рдЖрд╡рд╢реНтАНрдпрдХ рдЖрд╣реЗ рдЖрдгрд┐, рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдореНрд╣рдгрдЬреЗ, рд╕реЗрд╡реЗрдд рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдиреБрд╕рд╛рд░ kubernetes рд╕реЗрд╡рд╛ рд╕рдВрд╕реНрдерд╛рдВрдЪреНрдпрд╛ рд╕рд░реНрд╡ рдкреЛрд░реНрдЯреНрд╕рдирд╛ рдирд╛рд╡ рджреНрдпрд╛. рдореНрд╣рдгрдЬреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдпрд╛рд╕рд╛рд░рдЦреЗ:

apiVersion: v1
kind: Service
metadata:
  name: nginx
spec:
  ports:
  - port: 80
    targetPort: 80
    name: http
  selector:
    app: nginx

рддреБрдореНрд╣реА http-magic рд╕рд╛рд░рдЦреА рдХрдВрдкрд╛рдКрдВрдб рдирд╛рд╡реЗ рджреЗрдЦреАрд▓ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ (Istio http рдкрд╛рд╣реЗрд▓ рдЖрдгрд┐ рддреНрдпрд╛ рдкреЛрд░реНрдЯрд▓рд╛ http рдПрдВрдбрдкреЙрдЗрдВрдЯ рдореНрд╣рдгреВрди рдУрд│рдЦреЗрд▓). рд╕реНрд╡рд░реВрдк рдЖрд╣реЗ: рдкреНрд░реЛрдЯреЛ-рдЕрддрд┐рд░рд┐рдХреНрдд.

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

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

--serviceCluster ${POD_NAMESPACE}.$(echo ${POD_NAME} | sed -e 's/-[a-z0-9]*-[a-z0-9]*$//g')

рджреВрддрд╛рдордзреНрдпреЗ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдЪрд╛рдВрдЧрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ рдпреЗрдереЗ.

рдЯреНрд░реЗрд╕рд┐рдВрдЧ рд╕реНрдкреЕрди рдкрд╛рдард╡рдгреНтАНрдпрд╛рд╕рд╛рдареА рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╕реНтАНрд╡рдд: рджреВрдд рдкреНрд░реЙрдХреНтАНрд╕реА рд▓реЙрдиреНтАНрдЪ рдлреНрд▓реЕрдЧрдордзреНтАНрдпреЗ рджреЗрдЦреАрд▓ рдирдореВрдж рдХрд░рдгреЗ рдЖрд╡рд╢реНтАНрдпрдХ рдЖрд╣реЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде: --zipkinAddress tracing-collector.tracing:9411

рдЧреИрд░рд╕рдордЬ рдХреНрд░рдорд╛рдВрдХ рджреЛрди: рдЖрдореНрд╣реА рдмреЙрдХреНрд╕рдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рд╕рд┐рд╕реНрдЯрдорджреНрд╡рд╛рд░реЗ рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреЗ рд╕рдВрдкреВрд░реНрдг рдЯреНрд░реЗрд╕ рд╕реНрд╡рд╕реНрддрдкрдгреЗ рдорд┐рд│рд╡реВ рд╢рдХрддреЛ

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

рд╡рд╕реНрддреБрд╕реНрдерд┐рддреА рдЕрд╢реА рдЖрд╣реЗ рдХреА рд╕рдорд╛рди рд╕реЗрд╡рд╛ рд╕реЛрдбрдгрд╛рд░реНтАНрдпрд╛рдВрд╕рд╣ рд╕реЗрд╡реЗрд▓рд╛ рдпреЗрдгрд╛рд░реНтАНрдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪрд╛ рдкрддреНрд░рд╡реНрдпрд╡рд╣рд╛рд░ рд╕рдордЬрдгреНрдпрд╛рд╕ istio-proxy рд╕рдХреНрд╖рдо рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА, рдлрдХреНрдд рд╕рд░реНрд╡ рд░рд╣рджрд╛рд░реА рд░реЛрдЦрдгреЗ рдкреБрд░реЗрд╕реЗ рдирд╛рд╣реА. рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреЗ рд╕рдВрдкреНрд░реЗрд╖рдг рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. HTTP рджреВрдд рдкреНрд░реЙрдХреНрд╕реА рд╡рд┐рд╢реЗрд╖ рд╢реАрд░реНрд╖рд▓реЗрдЦ рд╡рд╛рдкрд░рддреЗ, рдЬреНрдпрд╛рджреНрд╡рд╛рд░реЗ рджреВрдд рд╕рдордЬрддреЗ рдХреА рд╕реЗрд╡реЗрдЪреА рдХреЛрдгрддреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдирдВрддреА рдЗрддрд░ рд╕реЗрд╡рд╛рдВрд╕рд╛рдареА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдирдВрддреНрдпрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ. рдЕрд╢рд╛ рд╢реАрд░реНрд╖рд▓реЗрдЦрд╛рдВрдЪреА рдпрд╛рджреА:

  • x-request-id
  • x-b3-traceid,
  • x-b3-рд╕реНрдкреЕрдирд┐рдб,
  • x-b3-parentspanid,
  • x-b3-рдирдореБрдирд╛,
  • x-b3-рдзреНрд╡рдЬ,
  • x-ot-span-рд╕рдВрджрд░реНрдн.

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

рдирд┐рд╖реНрдХрд░реНрд╖

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

рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢ рдмрджреНрджрд▓рдЪреНрдпрд╛ рдкреБрдвреАрд▓ рд▓реЗрдЦрд╛рдд, рдЖрдореНрд╣реА Istio рдордзреАрд▓ рд╕рд░реНрд╡рд╛рдд рдореЛрдареНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдкреИрдХреА рдПрдХ рдкрд╛рд╣реВ - рдкреНрд░рддреНрдпреЗрдХ рд╕рд╛рдЗрдбрдХрд╛рд░ рдкреНрд░реЙрдХреНрд╕реА рдХрдВрдЯреЗрдирд░рджреНрд╡рд╛рд░реЗ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд RAM рдЪрд╛ рд╡рд╛рдкрд░ рдЖрдгрд┐ рдЖрдкрдг рддреНрдпрд╛рд╕ рдХрд╕реЗ рд╕рд╛рдореЛрд░реЗ рдЬрд╛рдК рд╢рдХрддрд╛ рдпрд╛рд╡рд░ рдЪрд░реНрдЪрд╛ рдХрд░реВ.

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

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