рдЙрддреНрдкрд╛рджрдирд╛рдд рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╡рд╛рдкрд░реВрди рдЗрд╕реНрдЯрд┐рдУ рдХрд╕рд╛ рдЪрд╛рд▓рд╡рд╛рдпрдЪрд╛. рднрд╛рдЧ 1

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

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

рдЙрддреНрдкрд╛рджрдирд╛рдд рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╡рд╛рдкрд░реВрди рдЗрд╕реНрдЯрд┐рдУ рдХрд╕рд╛ рдЪрд╛рд▓рд╡рд╛рдпрдЪрд╛. рднрд╛рдЧ 1

рд╣реЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ

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

рдЙрддреНрдкрд╛рджрдирд╛рдд рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╡рд╛рдкрд░реВрди рдЗрд╕реНрдЯрд┐рдУ рдХрд╕рд╛ рдЪрд╛рд▓рд╡рд╛рдпрдЪрд╛. рднрд╛рдЧ 1

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

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

рд╕рд╛рдЗрдбрдХрд╛рд░ рдкреНрд░реЙрдХреНрд╕реА рдХрдВрдЯреЗрдирд░ рд╡рд╛рдкрд░реВрди рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рд▓рд╛рдЧреВ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рдкреЙрд╡рд░рдлреБрд▓ рдмрд╛рдп рдбреАрдлреЙрд▓реНрдЯ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ. рджреВрдд рдкреНрд░реЙрдХреНрд╕реА. рд╣реЗ рджреБрд╕рд░реНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрджреНрд╡рд╛рд░реЗ рдмрджрд▓рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ, рдЬрд╕реЗ рдХреА nginx (nginmesh).

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

рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдВрдЯреЗрдирд░ GRPC рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╡рд╛рдкрд░реВрди рдкрд╛рдпрд▓рдЯрд╢реА рдЬреЛрдбрд▓реЗрд▓реЗ рдЖрд╣реЗрдд, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рд╣реЛрдгрд╛рд▒реНрдпрд╛ рдмрджрд▓рд╛рдВрд╕рд╛рдареА рдкреБрд╢ рдореЙрдбреЗрд▓ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. GRPC рджреВрддрд╛рдордзреНрдпреЗ рдЖрд╡реГрддреНрддреА 1.6 рдкрд╛рд╕реВрди рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдд рдЖрд╣реЗ, Istio рдордзреНрдпреЗ рддреА рдЖрд╡реГрддреНрддреА 0.8 рдкрд╛рд╕реВрди рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдд рдЖрд╣реЗ рдЖрдгрд┐ рдПрдХ рдкрд╛рдпрд▓рдЯ-рдПрдЬрдВрдЯ рдЖрд╣реЗ - рд▓рд╛рдБрдЪ рдкрд░реНрдпрд╛рдп рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгрд╛рд░рд╛ рджреВрддрд╛рд╡рд░ рдЧреЛрд▓рд╛рдВрдЧ рд░реЕрдкрд░ рдЖрд╣реЗ.

рдкрд╛рдпрд▓рдЯ рдЖрдгрд┐ рдорд┐рдХреНрд╕рд░ рдкреВрд░реНрдгрдкрдгреЗ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдШрдЯрдХ рдЖрд╣реЗрдд, рд╕рд░реНрд╡ рд╕реНрдерд┐рддреА рдореЗрдорд░реАрдордзреНрдпреЗ рдареЗрд╡рд▓реА рдЬрд╛рддреЗ. рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╛рдареА рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди Kubernetes рдХрд╕реНрдЯрдо рд░рд┐рд╕реЛрд░реНрд╕реЗрд╕рдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рд╕реЗрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ, рдЬреЗ etcd рдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдЖрд╣реЗрдд.
Istio-рдПрдЬрдВрдЯрд▓рд╛ рдкрд╛рдпрд▓рдЯрдЪрд╛ рдкрддреНрддрд╛ рдорд┐рд│рддреЛ рдЖрдгрд┐ рддреНрдпрд╛рд╡рд░ GRPC рдкреНрд░рд╡рд╛рд╣ рдЙрдШрдбрддреЛ.

рдореА рдореНрд╣рдЯрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, Istio рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрд╕рд╛рдареА рд╕рд░реНрд╡ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреВрд░реНрдгрдкрдгреЗ рдкрд╛рд░рджрд░реНрд╢рдХрдкрдгреЗ рд▓рд╛рдЧреВ рдХрд░рддреЗ. рдХрд╕реЗ рддреЗ рдкрд╛рд╣реВ. рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╣реЗ рдЖрд╣реЗ:

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

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

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

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

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

рдЙрддреНрдкрд╛рджрдирд╛рдд рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╡рд╛рдкрд░реВрди рдЗрд╕реНрдЯрд┐рдУ рдХрд╕рд╛ рдЪрд╛рд▓рд╡рд╛рдпрдЪрд╛. рднрд╛рдЧ 1

рдереЛрдбрдХреНрдпрд╛рдд, рдЗрд╕реНрдЯрд┐рдУ-рдЯреЗрд▓рд┐рдореЗрдЯреНрд░реАрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рдЖрд╣реЗ.

  1. рд╕реЗрд╡рд╛ 1 рд╕реЗрд╡рд╛ 2 рд▓рд╛ рд╡рд┐рдирдВрддреА рдкрд╛рдард╡рддреЗ.
  2. рд╕реЗрд╡рд╛ 1 рд╕реЛрдбрддрд╛рдирд╛, рд╡рд┐рдирдВрддреА рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рд╕рд╛рдЗрдбрдХрд╛рд░рдордзреНрдпреЗ рдЧреБрдВрдбрд╛рд│рд▓реА рдЬрд╛рддреЗ.
  3. рд╕рд╛рдЗрдбрдХрд╛рд░ рджреВрдд рд╡рд┐рдирдВрддреА рд╕реЗрд╡реЗ 2 рдХрдбреЗ рдХрд╢реА рдЬрд╛рддреЗ рдпрд╛рдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддреЛ рдЖрдгрд┐ рдЖрд╡рд╢реНрдпрдХ рдорд╛рд╣рд┐рддреА рддрдпрд╛рд░ рдХрд░рддреЛ.
  4. рдирдВрддрд░ рдЕрд╣рд╡рд╛рд▓ рд╡рд┐рдирдВрддреА рд╡рд╛рдкрд░реВрди рддреЗ istio-telemetry рд╡рд░ рдкрд╛рдард╡рддреЗ.
  5. рд╣рд╛ рдЕрд╣рд╡рд╛рд▓ рдмреЕрдХрдПрдВрдбрд▓рд╛ рдкрд╛рдард╡рд╛рдпрдЪрд╛ рдХреА рдирд╛рд╣реА, рдХреЛрдгрддрд╛ рдЖрдгрд┐ рдХреЛрдгрддрд╛ рдбреЗрдЯрд╛ рдкрд╛рдард╡рд╛рдпрдЪрд╛ рд╣реЗ рдЗрд╕реНрдЯрд┐рдУ-рдЯреЗрд▓рд┐рдореЗрдЯреНрд░реА рдард░рд╡рддреЗ.
  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

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

рдкрд░рд┐рдгрд╛рдореА, рдЖрдореНрд╣реА рдЬреНрдпрд╛ рд╕реЗрд╡реЗрдордзреНрдпреЗ рджреВрддрд╛рд╕рд╣ рд╕рд╛рдЗрдбрдХрд╛рд░ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рддреЛ рддреА рдпрд╢рд╕реНрд╡реАрдкрдгреЗ рд╕реБрд░реВ рд╡реНрд╣рд╛рдпрд▓рд╛ рд╣рд╡реА, рдкрд╛рдпрд▓рдЯрдХрдбреВрди рд╕рд░реНрд╡ рд╢реЛрдз рдЖрдгрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реНрдпрд╛ рдкрд╛рд╣рд┐рдЬреЗрдд.

рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ рдХреА рд╕рд░реНрд╡ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рдШрдЯрдХ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдЖрд╣реЗрдд рдЖрдгрд┐ рд╕рдорд╕реНрдпрд╛рдВрд╢рд┐рд╡рд╛рдп рдХреНрд╖реИрддрд┐рдЬрд░рд┐рддреНрдпрд╛ рдореЛрдЬрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд. рд╕рд░реНрд╡ рдбреЗрдЯрд╛ рдХреБрдмрд░рдиреЗрдЯ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреНрдпрд╛ рд╕рд╛рдиреБрдХреВрд▓ рд╡рд░реНрдгрдирд╛рдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд etcd рдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.

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

рдорд▓реНрдЯреА-рдХреНрд▓рд╕реНрдЯрд░ рдЗрдиреНрд╕реНрдЯреЙрд▓реЗрд╢рдирд╕рд╛рдареА, рдЦрд╛рд▓реАрд▓ рдорд░реНрдпрд╛рджрд╛рдВрдЪреА рдЬрд╛рдгреАрд╡ рдареЗрд╡рд╛:

  1. рдкреЙрдб рд╕реАрдЖрдпрдбреАрдЖрд░ рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд┐рд╕ рд╕реАрдЖрдпрдбреАрдЖрд░ рд╕рд░реНрд╡ рдХреНрд▓рд╕реНрдЯрд░реНрд╕рдордзреНрдпреЗ рдЕрджреНрд╡рд┐рддреАрдп рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЖрдгрд┐ рддреЗ рдУрд╡реНрд╣рд░рд▓реЕрдк рд╣реЛрдК рдирдпреЗ.
  2. рд╕рд░реНрд╡ CIDR рдкреЙрдбреНрд╕ рдХреНрд▓рд╕реНрдЯрд░реНрд╕рдордзреАрд▓ рдХреЛрдгрддреНрдпрд╛рд╣реА CIDR рдкреЙрдбреНрд╕рдордзреВрди рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдЕрд╕рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗрдд.
  3. рд╕рд░реНрд╡ Kubernetes API рд╕рд░реНрд╡реНрд╣рд░ рдПрдХрдореЗрдХрд╛рдВрдирд╛ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

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

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

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