рдЙрддреНрдкрд╛рджрдирдорд╛ Kubernetes рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ Istio рдХрд╕рд░реА рдЪрд▓рд╛рдЙрдиреЗред рднрд╛рдЧ 1

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

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

рдЙрддреНрдкрд╛рджрдирдорд╛ Kubernetes рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ Istio рдХрд╕рд░реА рдЪрд▓рд╛рдЙрдиреЗред рднрд╛рдЧ 1

рдХрд╕рд░реА рдпреЛ рдХрд╛рдо рдЧрд░реНрджрдЫ

Istio рджреБрдИ рдореБрдЦреНрдп рдХреНрд╖реЗрддреНрд░рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ - рдирд┐рдпрдиреНрддреНрд░рдг рд╡рд┐рдорд╛рди рд░ рдбреЗрдЯрд╛ рд╡рд┐рдорд╛рдиред рдирд┐рдпрдиреНрддреНрд░рдг рд╡рд┐рдорд╛рдирд▓реЗ рдореБрдЦреНрдп рдШрдЯрдХрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ рдЬреБрди рдмрд╛рдБрдХреАрдХреЛ рд╕рд╣реА рд╕рдЮреНрдЪрд╛рд▓рди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрджрдЫред рд╣рд╛рд▓рдХреЛ рд╕рдВрд╕реНрдХрд░рдг (1.0) рдорд╛ рдирд┐рдпрдиреНрддреНрд░рдг рд╡рд┐рдорд╛рди рддреАрди рдореБрдЦреНрдп рдШрдЯрдХ рдЫ: рдкрд╛рдпрд▓рдЯ, рдорд┐рдХреНрд╕рд░, рд╕рд┐рдЯрд╛рдбреЗрд▓ред рд╣рд╛рдореА рд╕рд┐рдЯрд╛рдбреЗрд▓рд▓рд╛рдИ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрджреИрдиреМрдВ, рд╕реЗрд╡рд╛рд╣рд░реВ рдмреАрдЪ рдЖрдкрд╕реА TLS рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрди рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВ рдЙрддреНрдкрдиреНрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдкрд╛рдЗрд▓рдЯ рд░ рдорд┐рдХреНрд╕рд░рдХреЛ рдпрдиреНрддреНрд░ рд░ рдЙрджреНрджреЗрд╢реНрдпрд▓рд╛рдИ рдирдЬрд┐рдХрдмрд╛рдЯ рд╣реЗрд░реМрдВред

рдЙрддреНрдкрд╛рджрдирдорд╛ Kubernetes рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ Istio рдХрд╕рд░реА рдЪрд▓рд╛рдЙрдиреЗред рднрд╛рдЧ 1

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

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

рдбрд╛рдЯрд╛ рдкреНрд▓реЗрди рд╕рд╛рдЗрдбрдХрд╛рд░ рдкреНрд░реЛрдХреНрд╕реА рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫред рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рджреВрдд рдкреНрд░реЛрдХреНрд╕реАред рдпрд╕рд▓рд╛рдИ рдЕрд░реНрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рдЬрд╕реНрддреИ nginx (nginmesh)ред

Istio рдХреЛ рд▓рд╛рдЧреА рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реБ рдХреЛ рд▓рд╛рдЧреА рдкреВрд░реНрдг рдкрд╛рд░рджрд░реНрд╢реА рдХрд╛рдо рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА, рддреНрдпрд╣рд╛рдБ рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЗрдВрдЬреЗрдХреНрд╢рди рдкреНрд░рдгрд╛рд▓реА рдЫред рдирд╡реАрдирддрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди Kubernetes 1.9+ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ (рдореНрдпреБрдЯреЗрд╢рдирд▓ рдкреНрд░рд╡реЗрд╢ рд╡реЗрдмрд╣реБрдХ) рдХреЛ рд▓рд╛рдЧреА рдЙрдкрдпреБрдХреНрдд рдЫред Kubernetes рд╕рдВрд╕реНрдХрд░рдг 1.7, 1.8 рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рд╛рд░рдореНрднрд┐рдХрдХрд░реНрддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдореНрднрд╡ рдЫред

рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ GRPC рдкреНрд░реЛрдЯреЛрдХрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкрд╛рдпрд▓рдЯрд╕рдБрдЧ рдЬреЛрдбрд┐рдПрдХрд╛ рдЫрдиреН, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рд╣реБрдиреЗ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреБрд╢ рдореЛрдбреЗрд▓рд▓рд╛рдИ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред GRPC рд╕рдВрд╕реНрдХрд░рдг 1.6 рджреЗрдЦрд┐ Envoy рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдЫ, Istio рдорд╛ рдпреЛ рд╕рдВрд╕реНрдХрд░рдг 0.8 рдмрд╛рдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ рдПрдХ рдкрд╛рдпрд▓рдЯ-рдПрдЬреЗрдиреНрдЯ рд╣реЛ - рд▓рдиреНрдЪ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреЗ рджреВрддрдорд╛рдерд┐ рдЧреЛрд▓рд╛рдЩреНрдЧ рд░реНрдпрд╛рдкрд░ред

рдкрд╛рдпрд▓рдЯ рд░ рдорд┐рдХреНрд╕рд░ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рд╣реБрдиреН, рд╕рдмреИ рд░рд╛рдЬреНрдп рдореЗрдореЛрд░реАрдорд╛ рд░рд╛рдЦрд┐рдПрдХреЛ рдЫред рддрд┐рдиреАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди Kubernetes рдЕрдиреБрдХреВрд▓рди рд╕рдВрд╕рд╛рдзрдирд╣рд░реВрдХреЛ рд░реВрдкрдорд╛ рд╕реЗрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬреБрди etcd рдорд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдиреНрдЫред
Istio-рдПрдЬреЗрдиреНрдЯрд▓реЗ рдкрд╛рдпрд▓рдЯрдХреЛ рдареЗрдЧрд╛рдирд╛ рдкрд╛рдЙрдБрдЫ рд░ рдпрд╕рдорд╛ GRPC рд╕реНрдЯреНрд░рд┐рдо рдЦреЛрд▓реНрдЫред

рдореИрд▓реЗ рднрдиреЗрдЭреИрдВ, Istio рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдорд╛ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдкрд╛рд░рджрд░реНрд╢реА рд╕рдмреИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд▓рд╛рдЧреВ рдЧрд░реНрджрдЫред рдХрд╕рд░реА рд╣реЗрд░реМрдВред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдпреЛ рд╣реЛ:

  1. рд╕реЗрд╡рд╛рдХреЛ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИред
  2. рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдиреНрдЯреЗрдирд░ рдЗрдиреНрдЬреЗрдХреНрд╕рди рджреГрд╖реНрдЯрд┐рдХреЛрдгрдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджреИ, рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд▓рд╛рдЧреВ рдЧрд░реНрдиреЗ рдЪрд░рдгрдорд╛ istio-init рдХрдиреНрдЯреЗрдирд░ рд░ istio-рдПрдЬреЗрдиреНрдЯ рдХрдиреНрдЯреЗрдирд░ (рджреВрдд) рдердкрд┐рдиреНрдЫрдиреН, рд╡рд╛ рддрд┐рдиреАрд╣рд░реВ рдкрд╣рд┐рд▓реЗ рдиреИ Kubernetes Pod рдЗрдХрд╛рдИрдХреЛ рд╡рд┐рд╡рд░рдгрдорд╛ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рд╕рдореНрдорд┐рд▓рд┐рдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред
  3. istio-init рдХрдиреНрдЯреЗрдирд░ рдкреЛрдбрдорд╛ iptables рдирд┐рдпрдорд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрдиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛред рдПрдХ istio-рдПрдЬреЗрдиреНрдЯ рдХрдиреНрдЯреЗрдирд░рдорд╛ рд░реНтАНрдпрд╛рдк рдЧрд░реНрди рдЯреНрд░рд╛рдлрд┐рдХ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рджреБрдИ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдЫрдиреН: iptables рд░рд┐рдбрд┐рд░реЗрдХреНрдЯ рдирд┐рдпрдорд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рд╡рд╛ TPROXYред рд▓реЗрдЦрдирдХреЛ рд╕рдордпрдорд╛, рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рд░рд┐рдбрд┐рд░реЗрдХреНрдЯ рдирд┐рдпрдорд╣рд░реВрд╕рдБрдЧ рдЫред istio-init рдорд╛, рдХреБрди рдЯреНрд░рд╛рдлрд┐рдХрд▓рд╛рдИ рд░реЛрдХреНрдиреЗ рд░ istio-рдПрдЬреЗрдиреНрдЯрдорд╛ рдкрдард╛рдЙрдиреЗ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рд╕рдореНрднрд╡ рдЫред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рд╕рдмреИ рдЖрдЧрдорди рд░ рд╕рдмреИ рдмрд╣рд┐рд░реНрдЧрдорди рдЯреНрд░рд╛рдлрд┐рдХ рд░реЛрдХреНрди рдХреЛ рд▓рд╛рдЧреА, рддрдкрд╛рдИрд▓реЗ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рд╕реЗрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ -i ╨╕ -b рдЕрд░реНрде рдорд╛ *ред рддрдкрд╛рдИрдВрд▓реЗ рдЕрд╡рд░реЛрдз рдЧрд░реНрди рд╡рд┐рд╢реЗрд╖ рдкреЛрд░реНрдЯрд╣рд░реВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рдмрдиреЗрдЯ рдЕрд╡рд░реЛрдз рдирдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА, рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдлреНрд▓реНрдпрд╛рдЧ рдкреНрд░рдпреЛрдЧ рдЧрд░реА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ -x.
  4. рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рд╕рдХреЗрдкрдЫрд┐, рдореБрдЦреНрдпрд╣рд░реВ рдкрд╛рдЗрд▓рдЯ-рдПрдЬреЗрдиреНрдЯ (рджреВрдд) рд╕рд╣рд┐рдд рд╕реБрд░реВ рдЧрд░рд┐рдиреНрдЫред рдпрд╕рд▓реЗ GRPC рдорд╛рд░реНрдлрдд рдкрд╣рд┐рд▓реЗ рдиреИ рддреИрдирд╛рде рдЧрд░рд┐рдПрдХреЛ рдкрд╛рдпрд▓рдЯрд╕рдБрдЧ рдЬрдбрд╛рди рдЧрд░реНрджрдЫ рд░ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рд░рд╣реЗрдХрд╛ рд╕рдмреИ рд╕реЗрд╡рд╛рд╣рд░реВ рд░ рдорд╛рд░реНрдЧ рдиреАрддрд┐рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫред рдкреНрд░рд╛рдкреНрдд рдбрд╛рдЯрд╛ рдЕрдиреБрд╕рд╛рд░, рдЙрд╕рд▓реЗ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрджрдЫ рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рд╣рд╛рдореНрд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╕рдирд╣рд░реВрдХреЛ рдЕрдиреНрддрд┐рдо рдмрд┐рдиреНрджреБрд╣рд░реВрдорд╛ рд╕рд┐рдзреИ рдирд┐рдпреБрдХреНрдд рдЧрд░реНрджрдЫред рдпреЛ рдПрдЙрдЯрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдмрд┐рдиреНрджреБрд▓рд╛рдИ рдкрдирд┐ рдзреНрдпрд╛рди рджрд┐рди рдЖрд╡рд╢реНрдпрдХ рдЫ: рджреВрддрд▓реЗ рдЧрддрд┐рд╢реАрд▓ рд░реВрдкрдорд╛ рд╢реНрд░реЛрддрд╛рд╣рд░реВ (рдЖрдИрдкреА, рдкреЛрд░реНрдЯ рдЬреЛрдбреАрд╣рд░реВ) рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрджрдЫ рдЬреБрди рдпрд╕рд▓реЗ рд╕реБрдиреНрди рдерд╛рд▓реНрдЫред рддреНрдпрд╕рдХрд╛рд░рдг, рдЬрдм рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдкреЛрдбрдорд╛ рдкреНрд░рд╡реЗрд╢ рдЧрд░реНрдЫрдиреН, рд╕рд╛рдЗрдбрдХрд╛рд░рдорд╛ рд░рд┐рдбрд┐рд░реЗрдХреНрдЯ iptables рдирд┐рдпрдорд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкреБрди: рдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реБрдиреНрдЫрдиреН, рд░рд╛рдЬрджреВрддрд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ рдпреА рдЬрдбрд╛рдирд╣рд░реВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрди рд╕рдХреНрдЫрдиреН рд░ рдЯреНрд░рд╛рдлрд┐рдХрд▓рд╛рдИ рдердк рдкреНрд░реЛрдХреНрд╕реА рдХрд╣рд╛рдБ рдЧрд░реНрдиреЗ рднрдиреЗрд░ рдмреБрдЭреНрди рд╕рдХреНрдЫрдиреНред рд╕рд╛рдереИ рдпрд╕ рдЪрд░рдгрдорд╛, рдЬрд╛рдирдХрд╛рд░реА рдорд┐рдХреНрд╕рд░рдорд╛ рдкрдард╛рдЗрдиреНрдЫ, рдЬреБрди рд╣рд╛рдореА рдкрдЫрд┐ рд╣реЗрд░реНрдиреЗрдЫреМрдВ, рд░ рдЯреНрд░реЗрд╕рд┐рдЩ рд╕реНрдкреНрдпрд╛рдирд╣рд░реВ рдкрдард╛рдЗрдиреНрдЫред

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

рд╣рд╛рдореАрд▓реЗ рдкрд╛рдпрд▓рдЯ рдкрддреНрддрд╛ рд▓рдЧрд╛рдпреМрдВ, рдЕрдм рд╣рд╛рдореАрд▓реЗ рдорд┐рдХреНрд╕рд░ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫ рд░ рдпреЛ рдХрд┐рди рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗрд░ рдмреБрдЭреНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рддрдкрд╛рдИрдВ рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВ рдкрдвреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдпрд╣рд╛рдБ.

рдпрд╕рдХреЛ рд╣рд╛рд▓рдХреЛ рдлрд╛рд░рдордорд╛ рдорд┐рдХреНрд╕рд░рдорд╛ рджреБрдИрд╡рдЯрд╛ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рд╣реБрдиреНрдЫрдиреН: istio-telemetry, istio-policy (рд╕рдВрд╕реНрдХрд░рдг 0.8 рдЕрдШрд┐ рдпреЛ рдПрдХ istio-рдорд┐рдХреНрд╕рд░ рдХрдореНрдкреЛрдиреЗрдиреНрдЯ рдерд┐рдпреЛ)ред рддрд┐рдиреАрд╣рд░реВ рджреБрд╡реИ рдорд┐рдХреНрд╕рд░ рд╣реБрдиреН, рдЬрд╕рдордзреНрдпреЗ рдкреНрд░рддреНрдпреЗрдХ рдЖрдлреНрдиреИ рдХрд╛рд░реНрдпрдХреЛ рд▓рд╛рдЧрд┐ рдЬрд┐рдореНрдореЗрд╡рд╛рд░ рдЫред Istio рдЯреЗрд▓рд┐рдореЗрдЯреНрд░реАрд▓реЗ GRPC рдорд╛рд░реНрдлрдд рд╕рд╛рдЗрдбрдХрд╛рд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдмрд╛рдЯ рдХреЛ рдХрд╣рд╛рдБ рд░ рдХреБрди рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВрд╕рдБрдЧ рдЬрд╛рдиреНрдЫ рднрдиреНрдиреЗ рдмрд╛рд░реЗ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫред Istio-policy рд▓реЗ рдиреАрддрд┐ рдирд┐рдпрдорд╣рд░реВ рд╕рдиреНрддреБрд╖реНрдЯ рдЫрдиреН рднрдиреЗрд░ рдкреНрд░рдорд╛рдгрд┐рдд рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЬрд╛рдБрдЪ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрджрдЫред рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдзрдХреЛ рд▓рд╛рдЧрд┐ рдиреАрддрд┐ рдЬрд╛рдБрдЪрд╣рд░реВ рдЧрд░рд┐рдиреНрдЫрдиреН, рддрд░ рдЧреНрд░рд╛рд╣рдХрдорд╛ (рд╕рд╛рдЗрдбрдХрд╛рд░рдорд╛) рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордпрдХреЛ рд▓рд╛рдЧрд┐ рдХреНрдпрд╛рд╕ рдЧрд░рд┐рдиреНрдЫред рд░рд┐рдкреЛрд░реНрдЯ рдЪреЗрдХрд╣рд░реВ рдмреНрдпрд╛рдЪ рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рд░реВрдкрдорд╛ рдкрдард╛рдЗрдиреНрдЫред рд╣реЗрд░реМрдВ рдХрд╕рд░реА рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреЗ рд░ рдХреБрди рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рдереЛрд░реИ рдкрдЫрд┐ рдкрдард╛рдЗрдиреБрдкрд░реНрдЫред

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

рдЙрддреНрдкрд╛рджрдирдорд╛ Kubernetes рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ Istio рдХрд╕рд░реА рдЪрд▓рд╛рдЙрдиреЗред рднрд╛рдЧ 1

рд╕рдВрдХреНрд╖реЗрдкрдорд╛, istio-telemetry рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рдпреЛрдЬрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЫред

  1. рд╕реЗрд╡рд╛ рез рд▓реЗ рд╕реЗрд╡рд╛ реи рд▓рд╛рдИ рдЕрдиреБрд░реЛрдз рдкрдард╛рдЙрдБрдЫред
  2. рд╕реЗрд╡рд╛ рез рдЫреЛрдбреНрджрд╛, рдЕрдиреБрд░реЛрдз рдЖрдлреНрдиреИ рд╕рд╛рдЗрдбрдХрд╛рд░рдорд╛ рдмреЗрд░рд┐рдПрдХреЛ рд╣реБрдиреНрдЫред
  3. Sidecar рджреВрддрд▓реЗ рдХрд╕рд░реА рдЕрдиреБрд░реЛрдз рд╕реЗрд╡рд╛ 2 рдорд╛ рдЬрд╛рдиреНрдЫ рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реНрджрдЫ рд░ рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рддрдпрд╛рд░ рдЧрд░реНрджрдЫред
  4. рддреНрдпрд╕рдкрдЫрд┐ рд░рд┐рдкреЛрд░реНрдЯ рдЕрдиреБрд░реЛрдз рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ istio-telemetry рдорд╛ рдкрдард╛рдЙрдБрдЫред
  5. Istio-telemetry рд▓реЗ рдпреЛ рдкреНрд░рддрд┐рд╡реЗрджрди рдмреНрдпрд╛рдХрдПрдиреНрдбрдорд╛ рдкрдард╛рдЙрдиреЗ рд╡рд╛ рдХреБрди рдбрд╛рдЯрд╛ рдкрдард╛рдЙрдиреЗ рднрдиреНрдиреЗ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрджрдЫред
  6. рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рднрдПрдорд╛ Istio-telemetry рд▓реЗ рдмреНрдпрд╛рдХрдЗрдиреНрдбрдорд╛ рд░рд┐рдкреЛрд░реНрдЯ рдбрд╛рдЯрд╛ рдкрдард╛рдЙрдБрдЫред

рдЕрдм рд╣реЗрд░реМрдВ рдХрд╕рд░реА рдкреНрд░рдгрд╛рд▓реАрдорд╛ Istio рддреИрдирд╛рдд рдЧрд░реНрдиреЗ, рдХреЗрд╡рд▓ рдореБрдЦреНрдп рдШрдЯрдХрд╣рд░реВ (рдкрд╛рдЗрд▓рдЯ рд░ рд╕рд╛рдЗрдбрдХрд╛рд░ рджреВрдд) рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджреИред

рдкрд╣рд┐рд▓реЗ, рдореБрдЦреНрдп рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди (рдЬрд╛рд▓) рд▓рд╛рдИ рд╣реЗрд░реМрдВ рдЬреБрди рдкрд╛рдпрд▓рдЯрд▓реЗ рдкрдвреНрдЫ:

apiVersion: v1
kind: ConfigMap
metadata:
  name: istio
  namespace: istio-system
  labels:
    app: istio
    service: istio
data:
  mesh: |-

    # ╨┐╨╛╨║╨░ ╤З╤В╨╛ ╨╜╨╡ ╨▓╨║╨╗╤О╤З╨░╨╡╨╝ ╨╛╤В╨┐╤А╨░╨▓╨║╤Г tracing ╨╕╨╜╤Д╨╛╤А╨╝╨░╤Ж╨╕╨╕ (pilot ╨╜╨░╤Б╤В╤А╨╛╨╕╤В envoyтАЩ╨╕ ╤В╨░╨║╨╕╨╝ ╨╛╨▒╤А╨░╨╖╨╛╨╝, ╤З╤В╨╛ ╨╛╤В╨┐╤А╨░╨▓╨║╨░ ╨╜╨╡ ╨▒╤Г╨┤╨╡╤В ╨┐╤А╨╛╨╕╤Б╤Е╨╛╨┤╨╕╤В╤М)
    enableTracing: false

    # ╨┐╨╛╨║╨░ ╤З╤В╨╛ ╨╜╨╡ ╤Г╨║╨░╨╖╤Л╨▓╨░╨╡╨╝ mixer endpointтАЩ╤Л, ╤З╤В╨╛╨▒╤Л sidecar ╨║╨╛╨╜╤В╨╡╨╣╨╜╨╡╤А╤Л ╨╜╨╡ ╨╛╤В╨┐╤А╨░╨▓╨╗╤П╨╗╨╕ ╨╕╨╜╤Д╨╛╤А╨╝╨░╤Ж╨╕╤О ╤В╤Г╨┤╨░
    #mixerCheckServer: istio-policy.istio-system:15004
    #mixerReportServer: istio-telemetry.istio-system:15004

    # ╤Б╤В╨░╨▓╨╕╨╝ ╨▓╤А╨╡╨╝╨╡╨╜╨╜╨╛╨╣ ╨┐╤А╨╛╨╝╨╡╨╢╤Г╤В╨╛╨║, ╤Б ╨║╨╛╤В╨╛╤А╤Л╨╝ ╨▒╤Г╨┤╨╡╤В envoy ╨┐╨╡╤А╨╡╤Б╨┐╤А╨░╤И╨╕╨▓╨░╤В╤М Pilot (╤Н╤В╨╛ ╨┤╨╗╤П ╤Б╤В╨░╤А╨╛╨╣ ╨▓╨╡╤А╤Б╨╕╨╕ envoy proxy)
    rdsRefreshDelay: 5s

    # default ╨║╨╛╨╜╤Д╨╕╨│╤Г╤А╨░╤Ж╨╕╤П ╨┤╨╗╤П envoy sidecar
    defaultConfig:
      # ╨░╨╜╨░╨╗╨╛╨│╨╕╤З╨╜╨╛ ╨║╨░╨║ rdsRefreshDelay
      discoveryRefreshDelay: 5s

      # ╨╛╤Б╤В╨░╨▓╨╗╤П╨╡╨╝ ╨┐╨╛ ╤Г╨╝╨╛╨╗╤З╨░╨╜╨╕╤О (╨┐╤Г╤В╤М ╨║ ╨║╨╛╨╜╤Д╨╕╨│╤Г╤А╨░╤Ж╨╕╨╕ ╨╕ ╨▒╨╕╨╜╨░╤А╤О envoy)
      configPath: "/etc/istio/proxy"
      binaryPath: "/usr/local/bin/envoy"

      # ╨┤╨╡╤Д╨╛╨╗╤В╨╜╨╛╨╡ ╨╕╨╝╤П ╨╖╨░╨┐╤Г╤Й╨╡╨╜╨╜╨╛╨│╨╛ sidecar ╨║╨╛╨╜╤В╨╡╨╣╨╜╨╡╤А╨░ (╨╕╤Б╨┐╨╛╨╗╤М╨╖╤Г╨╡╤В╤Б╤П, ╨╜╨░╨┐╤А╨╕╨╝╨╡╤А, ╨▓ ╨╕╨╝╨╡╨╜╨░╤Е ╤Б╨╡╤А╨▓╨╕╤Б╨░ ╨┐╤А╨╕ ╨╛╤В╨┐╤А╨░╨▓╨║╨╡ tracing spanтАЩ╨╛╨▓)
      serviceCluster: istio-proxy

      # ╨▓╤А╨╡╨╝╤П, ╨║╨╛╤В╨╛╤А╨╛╨╡ ╨▒╤Г╨┤╨╡╤В ╨╢╨┤╨░╤В╤М envoy ╨┤╨╛ ╤В╨╛╨│╨╛, ╨║╨░╨║ ╨╛╨╜ ╨┐╤А╨╕╨╜╤Г╨┤╨╕╤В╨╡╨╗╤М╨╜╨╛ ╨╖╨░╨▓╨╡╤А╤И╨╕╤В ╨▓╤Б╨╡ ╤Г╤Б╤В╨░╨╜╨╛╨▓╨╗╨╡╨╜╨╜╤Л╨╡ ╤Б╨╛╨╡╨┤╨╕╨╜╨╡╨╜╨╕╤П
      drainDuration: 45s
      parentShutdownDuration: 1m0s

      # ╨┐╨╛ ╤Г╨╝╨╛╨╗╤З╨░╨╜╨╕╤О ╨╕╤Б╨┐╨╛╨╗╤М╨╖╤Г╤О╤В╤Б╤П REDIRECT ╨┐╤А╨░╨▓╨╕╨╗╨░ iptables. ╨Ь╨╛╨╢╨╜╨╛ ╨╕╨╖╨╝╨╡╨╜╨╕╤В╤М ╨╜╨░ TPROXY.
      #interceptionMode: REDIRECT

      # ╨Я╨╛╤А╤В, ╨╜╨░ ╨║╨╛╤В╨╛╤А╨╛╨╝ ╨▒╤Г╨┤╨╡╤В ╨╖╨░╨┐╤Г╤Й╨╡╨╜╨░ admin ╨┐╨░╨╜╨╡╨╗╤М ╨║╨░╨╢╨┤╨╛╨│╨╛ sidecar ╨║╨╛╨╜╤В╨╡╨╣╨╜╨╡╤А╨░ (envoy)
      proxyAdminPort: 15000

      # ╨░╨┤╤А╨╡╤Б, ╨┐╨╛ ╨║╨╛╤В╨╛╤А╨╛╨╝╤Г ╨▒╤Г╨┤╤Г╤В ╨╛╤В╨┐╤А╨░╨▓╨╗╤П╤В╤М╤Б╤П traceтАЩ╤Л ╨┐╨╛ zipkin ╨┐╤А╨╛╤В╨╛╨║╨╛╨╗╤Г (╨▓ ╨╜╨░╤З╨░╨╗╨╡ ╨╝╤Л ╨╛╤В╨║╨╗╤О╤З╨╕╨╗╨╕ ╤Б╨░╨╝╤Г ╨╛╤В╨┐╤А╨░╨▓╨║╤Г, ╨┐╨╛╤Н╤В╨╛╨╝╤Г ╤Н╤В╨╛ ╨┐╨╛╨╗╨╡ ╤Б╨╡╨╣╤З╨░╤Б ╨╜╨╡ ╨▒╤Г╨┤╨╡╤В ╨╕╤Б╨┐╨╛╨╗╤М╨╖╨╛╨▓╨░╤В╤М╤Б╤П)
      zipkinAddress: tracing-collector.tracing:9411

      # statsd ╨░╨┤╤А╨╡╤Б ╨┤╨╗╤П ╨╛╤В╨┐╤А╨░╨▓╨║╨╕ ╨╝╨╡╤В╤А╨╕╨║ envoy ╨║╨╛╨╜╤В╨╡╨╣╨╜╨╡╤А╨╛╨▓ (╨╛╤В╨║╨╗╤О╤З╨░╨╡╨╝)
      # statsdUdpAddress: aggregator:8126

      # ╨▓╤Л╨║╨╗╤О╤З╨░╨╡╨╝ ╨┐╨╛╨┤╨┤╨╡╤А╨╢╨║╤Г ╨╛╨┐╤Ж╨╕╨╕ Mutual TLS
      controlPlaneAuthPolicy: NONE

      # ╨░╨┤╤А╨╡╤Б, ╨╜╨░ ╨║╨╛╤В╨╛╤А╨╛╨╝ ╨▒╤Г╨┤╨╡╤В ╤Б╨╗╤Г╤И╨░╤В╤М istio-pilot ╨┤╨╗╤П ╤В╨╛╨│╨╛, ╤З╤В╨╛╨▒╤Л ╤Б╨╛╨╛╨▒╤Й╨░╤В╤М ╨╕╨╜╤Д╨╛╤А╨╝╨░╤Ж╨╕╤О ╨╛ service discovery ╨▓╤Б╨╡╨╝ sidecar ╨║╨╛╨╜╤В╨╡╨╣╨╜╨╡╤А╨░╨╝
      discoveryAddress: istio-pilot.istio-system:15007

рд╕рдмреИ рдореБрдЦреНрдп рдирд┐рдпрдиреНрддреНрд░рдг рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ (рдХрдиреНрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди) Kubernetes рдорд╛ рдиреЗрдорд╕реНрдкреЗрд╕ istio-system рдорд╛ рд╕реНрдерд┐рдд рд╣реБрдиреЗрдЫред

рдХрдореНрддрд┐рдорд╛, рд╣рд╛рдореАрд▓реЗ рдкрд╛рдЗрд▓рдЯрд▓рд╛рдИ рдорд╛рддреНрд░ рддреИрдирд╛рде рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдпрд╕рдХрд╛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВ рдпрд╕реНрддреЛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдиред

рд░ рд╣рд╛рдореА рдХрдиреНрдЯреЗрдирд░рдХреЛ рдЗрдиреНрдЬреЗрдХреНрд╕рди рд╕рд╛рдЗрдбрдХрд╛рд░рд▓рд╛рдИ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреЗрдЫреМрдВред

рдЗрдирд┐рдЯ рдХрдиреНрдЯреЗрдирд░:

initContainers:
 - name: istio-init
   args:
   - -p
   - "15001"
   - -u
   - "1337"
   - -m
   - REDIRECT
   - -i
   - '*'
   - -b
   - '*'
   - -d
   - ""
   image: istio/proxy_init:1.0.0
   imagePullPolicy: IfNotPresent
   resources:
     limits:
       memory: 128Mi
   securityContext:
     capabilities:
       add:
       - NET_ADMIN

рд░ рд╕рд╛рдЗрдбрдХрд╛рд░:

       name: istio-proxy
       args:
         - "bash"
         - "-c"
         - |
           exec /usr/local/bin/pilot-agent proxy sidecar 
           --configPath 
           /etc/istio/proxy 
           --binaryPath 
           /usr/local/bin/envoy 
           --serviceCluster 
           service-name 
           --drainDuration 
           45s 
           --parentShutdownDuration 
           1m0s 
           --discoveryAddress 
           istio-pilot.istio-system:15007 
           --discoveryRefreshDelay 
           1s 
           --connectTimeout 
           10s 
           --proxyAdminPort 
           "15000" 
           --controlPlaneAuthPolicy 
           NONE
         env:
         - name: POD_NAME
           valueFrom:
             fieldRef:
               fieldPath: metadata.name
         - name: POD_NAMESPACE
           valueFrom:
             fieldRef:
               fieldPath: metadata.namespace
         - name: INSTANCE_IP
           valueFrom:
             fieldRef:
               fieldPath: status.podIP
         - name: ISTIO_META_POD_NAME
           valueFrom:
             fieldRef:
               fieldPath: metadata.name
         - name: ISTIO_META_INTERCEPTION_MODE
           value: REDIRECT
         image: istio/proxyv2:1.0.0
         imagePullPolicy: IfNotPresent
         resources:
           requests:
             cpu: 100m
             memory: 128Mi
           limits:
             memory: 2048Mi
         securityContext:
           privileged: false
           readOnlyRootFilesystem: true
           runAsUser: 1337
         volumeMounts:
         - mountPath: /etc/istio/proxy
           name: istio-envoy

рд╕рдмреИ рдХреБрд░рд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реБрд░реБ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рд╕реЗрд╡рд╛ рдЦрд╛рддрд╛, рдХреНрд▓рд╕реНрдЯрд░рд░реЛрд▓, рдХреНрд▓рд╕реНрдЯрд░рд░реЛрд▓рдмрд╛рдЗрдиреНрдбрд┐рдЩ, рдкрд╛рдпрд▓рдЯрдХрд╛ рд▓рд╛рдЧрд┐ CRD рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдЬрд╕рдХреЛ рд╡рд┐рд╡рд░рдгрд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХрд┐рдиреНрдЫред рдпрд╣рд╛рдБ.

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

рдпреЛ рдмреБрдЭреНрди рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫ рдХрд┐ рд╕рдмреИ рдирд┐рдпрдиреНрддреНрд░рдг рд╡рд┐рдорд╛рди рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рд░рд╛рдЬреНрдпрд╡рд┐рд╣реАрди рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд╣реБрдиреН рд░ рдХреБрдиреИ рд╕рдорд╕реНрдпрд╛ рдмрд┐рдирд╛ рддреЗрд░реНрд╕реЛ рдорд╛рдкрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рд╕рдмреИ рдбрд╛рдЯрд╛ рдХреБрдмреЗрд░рдиреЗрдЯ рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рдЕрдиреБрдХреВрд▓рди рд╡рд┐рд╡рд░рдгрдХреЛ рд░реВрдкрдорд╛ etcd рдорд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫред

рд╕рд╛рдереИ, Istio (рдЕрдЭреИ рдкрдирд┐ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ) рдорд╛ рдХреНрд▓рд╕реНрдЯрд░ рдмрд╛рд╣рд┐рд░ рдЪрд▓реНрдиреЗ рдХреНрд╖рдорддрд╛ рд░ рдзреЗрд░реИ Kubernetes рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВ рдмреАрдЪ рд╕реЗрд╡рд╛ рдЦреЛрдЬ рд╣реЗрд░реНрди рд░ рдлрдореНрдмрд▓ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдЫред рддрдкрд╛рдИрдВ рдпрд╕ рдмрд╛рд░реЗ рдердк рдкрдвреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдпрд╣рд╛рдБ.

рдмрд╣реБ-рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд╛рдкрдирд╛рдХреЛ рд▓рд╛рдЧрд┐, рдирд┐рдореНрди рд╕реАрдорд╛рд╣рд░реВ рдмрд╛рд░реЗ рд╕рдЪреЗрдд рд░рд╣рдиреБрд╣реЛрд╕реН:

  1. Pod CIDR рд░ Service CIDR рд╕рдмреИ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВрдорд╛ рдЕрджреНрд╡рд┐рддреАрдп рд╣реБрдиреБрдкрд░реНрдЫ рд░ рдУрднрд░рд▓реНрдпрд╛рдк рд╣реБрдиреБ рд╣реБрдБрджреИрдиред
  2. рд╕рдмреИ CIDR рдкреЛрдбрд╣рд░реВ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВ рдмреАрдЪрдХреЛ рдХреБрдиреИ рдкрдирд┐ CIDR рдкреЛрдбрд╣рд░реВрдмрд╛рдЯ рдкрд╣реБрдБрдЪрдпреЛрдЧреНрдп рд╣реБрдиреБрдкрд░реНрдЫред
  3. рд╕рдмреИ Kubernetes API рд╕рд░реНрднрд░рд╣рд░реВ рдПрдХ рдЕрд░реНрдХрд╛рдорд╛ рдкрд╣реБрдБрдЪрдпреЛрдЧреНрдп рд╣реБрдиреБрдкрд░реНрдЫред

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

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

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