NGINX рд╕рд░реНрд╡рд┐рд╕ рдореЗрд╢ рдЙрдкрд▓рдмреНрдз рд╣реИ

NGINX рд╕рд░реНрд╡рд┐рд╕ рдореЗрд╢ рдЙрдкрд▓рдмреНрдз рд╣реИ

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

рдПрдирдПрд╕рдПрдо рдореБрдлрд╝реНрдд рд╣реИ рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ. рд╣рдореЗрдВ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рд╡реЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдЬрд╝рдорд╛рдПрдБрдЧреЗ - рдФрд░ рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗ рдЧреАрдерд╣рдм рдкрд░.

рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдбрд┐рд▓реАрд╡рд░реА рдХрд╛ рдкреИрдорд╛рдирд╛ рдмрдврд╝рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдЗрд╕рдХреА рдЬрдЯрд┐рд▓рддрд╛ рднреА рдмрдврд╝рддреА рд╣реИ, рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдкрджреНрдзрддрд┐ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрдард┐рдирд╛рдЗрдпреЛрдВ рд╕реЗ рднрд░рд╛ рд╣реЛрддрд╛ рд╣реИред рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ, рдФрд░ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдПрдирдПрд╕рдПрдо рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд╣реИ:

  • рд╕реБрд░рдХреНрд╖рд╛, рдЬреЛ рдЕрдм рдкрд╣рд▓реЗ рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдбреЗрдЯрд╛ рдЙрд▓реНрд▓рдВрдШрди рд╕реЗ рдХрдВрдкрдиреА рдХреЛ рд╕рд╛рд▓рд╛рдирд╛ рд▓рд╛рдЦреЛрдВ рдбреЙрд▓рд░ рдХрд╛ рд░рд╛рдЬрд╕реНрд╡ рдФрд░ рдкреНрд░рддрд┐рд╖реНрдард╛ рдЦреЛрдиреА рдкрдбрд╝ рд╕рдХрддреА рд╣реИред рдПрдирдПрд╕рдПрдо рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдХрдиреЗрдХреНрд╢рди рдПрдордЯреАрдПрд▓рдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╣реИрдХрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдЪреБрд░рд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЕрднрд┐рдЧрдо рдирд┐рдпрдВрддреНрд░рдг рдЖрдкрдХреЛ рдРрд╕реА рдиреАрддрд┐рдпрд╛рдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╕реЗрд╡рд╛рдПрдБ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд╕рдВрдЪрд╛рд░ рдХрд░рддреА рд╣реИрдВред
  • рдпрд╛рддрд╛рдпрд╛рдд рдкреНрд░рдмрдВрдзрди. рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╢рд┐рдкрд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп, рдЖрдк рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдХреЗ рд╢реБрд░реБрдЖрдд рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред рдПрдирдПрд╕рдПрдо рдХреЗ рдмреБрджреНрдзрд┐рдорд╛рди рдХрдВрдЯреЗрдирд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рдкреНрд░рдмрдВрдзрди рдХреЗ рд╕рд╛рде, рдЖрдк рдирдИ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЯреНрд░реИрдлрд╝рд┐рдХ рдкреНрд░рддрд┐рдмрдВрдз рдиреАрддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╕рдордп рдХреЗ рд╕рд╛рде рдЯреНрд░реИрдлрд╝рд┐рдХ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХрд░реЗрдЧреАред рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛рдПрдБ, рдЬреИрд╕реЗ рдЧрддрд┐ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рдФрд░ рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд░, рдЖрдкрдХреЛ рдЕрдкрдиреА рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдкреНрд░рд╡рд╛рд╣ рдкрд░ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВред
  • рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди. рд╣рдЬрд╛рд░реЛрдВ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдПрдХ рдбрд┐рдмрдЧрд┐рдВрдЧ рдФрд░ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рджреБрдГрд╕реНрд╡рдкреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдПрдирдПрд╕рдПрдо рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЧреНрд░рд╛рдлрд╛рдирд╛ рдбреИрд╢рдмреЛрд░реНрдб рдХреЗ рд╕рд╛рде рдЗрд╕ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рдкреНрд▓рд╕ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╕рднреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдУрдкрди рдЯреНрд░реЗрд╕рд┐рдВрдЧ рднреА рдЖрдкрдХреЛ рд▓реЗрдирджреЗрди рдХреА рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред
  • рд╣рд╛рдЗрдмреНрд░рд┐рдб рдбрд┐рд▓реАрд╡рд░реА, рдпрджрд┐ рдЖрдкрдХреА рдХрдВрдкрдиреА, рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреНрдп рдХреА рддрд░рд╣, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рдПрдирдПрд╕рдПрдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рд░рд╛рд╕рддреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЕрдкреНрд░рд╛рдкреНрдп рдирд╣реАрдВ рдЫреЛрдбрд╝рд╛ рдЬрд╛рдПред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЗрдирдЧреНрд░реЗрд╕ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреА рдорджрдж рд╕реЗ, рд╡рд┐рд░рд╛рд╕рдд рд╕реЗрд╡рд╛рдПрдВ рдЬрд╛рд▓ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреА, рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред

рдПрдирдПрд╕рдПрдо рдХрдВрдЯреЗрдирд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рдореЗрдВ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдФрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рдкрд╛рд░рджрд░реНрд╢реА рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдХреЗ рд╢реВрдиреНрдп рднрд░реЛрд╕реЗрдордВрдж рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реБрд░рдХреНрд╖рд╛ рднреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд▓реЗрди-рджреЗрди рдХреА рджреГрд╢реНрдпрддрд╛ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХреЛ рд╢реАрдШреНрд░ рдФрд░ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рддреИрдирд╛рддреА рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдирд┐рд╡рд╛рд░рдг рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИред рдпрд╣ рд╡рд┐рд╕реНрддреГрдд рдЯреНрд░реИрдлрд╝рд┐рдХ рдирд┐рдпрдВрддреНрд░рдг рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ DevOps рдЯреАрдореЛрдВ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдФрд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИ, рдЬрдмрдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЕрдкрдиреЗ рд╡рд┐рддрд░рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рд╕рд░реНрд╡рд┐рд╕ рдореЗрд╢ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

рдПрдирдПрд╕рдПрдо рдореЗрдВ рдХреНрд╖реИрддрд┐рдЬ (рд╕реЗрд╡рд╛-рд╕реЗ-рд╕реЗрд╡рд╛) рдпрд╛рддрд╛рдпрд╛рдд рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХреАрдХреГрдд рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рдФрд░ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдпрд╛рддрд╛рдпрд╛рдд рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдореНрдмреЗрдбреЗрдб рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рдкреНрд▓рд╕ рдЗрдирдЧреНрд░реЗрд╕ рдХрдВрдЯреНрд░реЛрд▓рд░ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рдПрдХрд▓ рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдмрдВрдзрд┐рдд рд╣реЛрддрд╛ рд╣реИред

рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рдкреНрд▓рд╕ рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдФрд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рдкреНрд▓рд╕ рд╕рд╛рдЗрдбрдХрд╛рд░реЛрдВ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдпрд╛рддрд╛рдпрд╛рдд рдирд┐рдпрдВрддреНрд░рдг рдирд┐рдпрдореЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред

рдПрдирдПрд╕рдПрдо рдореЗрдВ, рдореЗрд╢ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдбрдХрд╛рд░ рдкреНрд░реЙрдХреНрд╕реА рд╕реНрдерд╛рдкрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВред рд╡реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдУрдкрди рд╕реЛрд░реНрд╕ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд░рддреЗ рд╣реИрдВ:

  • рдЧреНрд░рд╛рдлрд╛рдирд╛, рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди, рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдПрдирдПрд╕рдПрдо рдкреИрдирд▓ рдЖрдкрдХреЗ рдХрд╛рдо рдореЗрдВ рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХрд░рддрд╛ рд╣реИ;
  • рдореЗрд╢ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдФрд░ рдмрд╛рд╣рд░ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЗрдирдЧреНрд░реЗрд╕ рдХрдВрдЯреНрд░реЛрд▓рд░;
  • рдореЗрд╢ рдореЗрдВ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди, рд╡рд┐рддрд░рдг рдФрд░ рдЕрджреНрдпрддрдиреАрдХрд░рдг рдХреЗ рд▓рд┐рдП SPIRE, CA;
  • NATS, рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди рд╕реЗ рд╕рд╛рдЗрдбрдХрд╛рд░ рддрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреЗрд▓реЗрдмрд▓ рдкреНрд░рдгрд╛рд▓реА, рдЬреИрд╕реЗ рд░реВрдЯ рдЕрдкрдбреЗрдЯ;
  • рдУрдкрди рдЯреНрд░реЗрд╕рд┐рдВрдЧ, рд╡рд┐рддрд░рд┐рдд рдбрд┐рдмрдЧрд┐рдВрдЧ (рдЬрд╝рд┐рдкрдХрд┐рди рдФрд░ рдЬреИрдЧрд░ рд╕рдорд░реНрдерд┐рдд);
  • рдкреНрд░реЛрдореЗрдерд┐рдпрд╕, рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рдкреНрд▓рд╕ рд╕рд╛рдЗрдбрдХрд╛рд░реЛрдВ рд╕реЗ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдПрдХрддреНрд░рд┐рдд рдФрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рдХрдиреЗрдХреНрд╢рди рдФрд░ рдПрд╕рдПрд╕рдПрд▓ рд╣реИрдВрдбрд╢реЗрдХред

рдХрд╛рд░реНрдп рдФрд░ рдШрдЯрдХ

рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рдХреЗ рд░реВрдк рдореЗрдВ рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рдкреНрд▓рд╕ рд╕рд╛рдЗрдбрдХрд╛рд░ рдкреНрд░реЙрдХреНрд╕реА (рдХреНрд╖реИрддрд┐рдЬ рдЯреНрд░реИрдлрд╝рд┐рдХ) рдФрд░ рдЗрдирдЧреНрд░реЗрд╕ рдХрдВрдЯреНрд░реЛрд▓рд░ (рд╡рд░реНрдЯрд┐рдХрд▓) рдХреЛ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдмреАрдЪ рдХрдВрдЯреЗрдирд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд░реЛрдХрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред

рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓:

  • рдореНрдпреБрдЪреБрдЕрд▓ рдЯреАрдПрд▓рдПрд╕ (рдПрдордЯреАрдПрд▓рдПрд╕) рдкреНрд░рдорд╛рдгреАрдХрд░рдг;
  • рднрд╛рд░ рдХрд╛ рд╕рдВрддреБрд▓рди;
  • рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛;
  • рдЧрддрд┐ рд╕реАрдорд╛;
  • рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд┐рдВрдЧ;
  • рдиреАрд▓рд╛-рд╣рд░рд╛ рдФрд░ рдХреИрдирд░реА рддреИрдирд╛рддреА;
  • рдкрд╣реБрдБрдЪ рдирд┐рдпрдВрддреНрд░рдгред

рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рд╕рд░реНрд╡рд┐рд╕ рдореЗрд╢ рдХрд╛ рд╢реБрднрд╛рд░рдВрдн

рдПрдирдПрд╕рдПрдо рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдП:

  • рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рддрдХ рдкрд╣реБрдВрдЪред рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рд╕рд░реНрд╡рд┐рд╕ рдореЗрд╢ рдХрдИ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ (рдИрдХреЗрдПрд╕), рдПрдЬрд╝реНрдпреЛрд░ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рд░реНрд╡рд┐рд╕ (рдПрдХреЗрдПрд╕), Google рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЗрдВрдЬрди (рдЬреАрдХреЗрдИ), рд╡реАрдПрдорд╡реЗрдпрд░ рд╡реАрд╕реНрдлреЗрдпрд░ рдФрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рд░реНрд╡рд░ рдкрд░ рддреИрдирд╛рдд рдирд┐рдпрдорд┐рдд рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдЕрдореЗрдЬрд╝реЕрди рдЗрд▓рд╛рд╕реНрдЯрд┐рдХ рдХрдВрдЯреЗрдирд░ рд╕реЗрд╡рд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ;
  • рдЙрдкрдХрд░рдг kubectl, рдЙрд╕ рдорд╢реАрди рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдПрдирдПрд╕рдПрдо рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛;
  • рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рд╕рд░реНрд╡рд┐рд╕ рдореЗрд╢ рд░рд┐рд▓реАрдЬ рдкреИрдХреЗрдЬ рддрдХ рдкрд╣реБрдВрдЪред рдкреИрдХреЗрдЬ рдореЗрдВ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рдЬреА рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдПрдирдПрд╕рдПрдо рдЫрд╡рд┐рдпрд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдкреИрдХреЗрдЬ рдореЗрдВ рдпрд╣ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ nginx-meshctl, рдПрдирдПрд╕рдПрдо рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

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

$ DOCKER_REGISTRY=your-Docker-registry ; MESH_VER=0.6.0 ; 
 ./nginx-meshctl deploy  
  --nginx-mesh-api-image "${DOCKER_REGISTRY}/nginx-mesh-api:${MESH_VER}" 
  --nginx-mesh-sidecar-image "${DOCKER_REGISTRY}/nginx-mesh-sidecar:${MESH_VER}" 
  --nginx-mesh-init-image "${DOCKER_REGISTRY}/nginx-mesh-init:${MESH_VER}" 
  --nginx-mesh-metrics-image "${DOCKER_REGISTRY}/nginx-mesh-metrics:${MESH_VER}"
Created namespace "nginx-mesh".
Created SpiffeID CRD.
Waiting for Spire pods to be running...done.
Deployed Spire.
Deployed NATS server.
Created traffic policy CRDs.
Deployed Mesh API.
Deployed Metrics API Server.
Deployed Prometheus Server nginx-mesh/prometheus-server.
Deployed Grafana nginx-mesh/grafana.
Deployed tracing server nginx-mesh/zipkin.
All resources created. Testing the connection to the Service Mesh API Server...

Connected to the NGINX Service Mesh API successfully.
NGINX Service Mesh is running.

рдЙрдиреНрдирдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕рд╣рд┐рдд рдЕрдзрд┐рдХ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЖрджреЗрд╢ рдЪрд▓рд╛рдПрдБ:

$ nginx-meshctl deploy тАУh

рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ nginx-рдореЗрд╖, рдЖрдк рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

$ kubectl get pods тАУn nginx-mesh
NAME                                 READY   STATUS    RESTARTS   AGE
grafana-6cc6958cd9-dccj6             1/1     Running   0          2d19h
mesh-api-6b95576c46-8npkb            1/1     Running   0          2d19h
nats-server-6d5c57f894-225qn         1/1     Running   0          2d19h
prometheus-server-65c95b788b-zkt95   1/1     Running   0          2d19h
smi-metrics-5986dfb8d5-q6gfj         1/1     Running   0          2d19h
spire-agent-5cf87                    1/1     Running   0          2d19h
spire-agent-rr2tt                    1/1     Running   0          2d19h
spire-agent-vwjbv                    1/1     Running   0          2d19h
spire-server-0                       2/2     Running   0          2d19h
zipkin-6f7cbf5467-ns6wc              1/1     Running   0          2d19h

рдореИрдиреНрдпреБрдЕрд▓ рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЗрдВрдЬреЗрдХреНрд╢рди рдиреАрддрд┐рдпреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рд╕рд╛рдЗрдбрдХрд╛рд░ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЬреЛрдбрд╝рдиреЗ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрдврд╝реЗрдВ рдпрд╣рд╛рдВ

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рддреИрдирд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдиреАрдВрдж рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдЪреВрдХ, рдФрд░ рдлрд┐рд░ рдкреЙрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ - рд╣рдо рджреЛ рд░рдирд┐рдВрдЧ рдХрдВрдЯреЗрдирд░, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреЗрдЦреЗрдВрдЧреЗ рдиреАрдВрдж рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рд╕рд╛рдЗрдбрдХрд╛рд░:

$ kubectl apply тАУf sleep.yaml
$ kubectl get pods тАУn default
NAME                     READY   STATUS    RESTARTS   AGE
sleep-674f75ff4d-gxjf2   2/2     Running   0          5h23m

рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдирд┐рдЧрд░рд╛рдиреА рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдиреАрдВрдж рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рдкреНрд▓рд╕ рдкреИрдирд▓ рдореЗрдВ, рдЕрдкрдиреА рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рд╕реЗ рд╕рд╛рдЗрдбрдХрд╛рд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:

$ kubectl port-forward sleep-674f75ff4d-gxjf2 8080:8886

рдлрд┐рд░ рд╣рдо рдмрд╕ рдЕрдВрджрд░ рдЪрд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ рдпрд╣рд╛рдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ. рдЖрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рд╕реЗ рднреА рдЬреБрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдиреАрдВрдж.

рдЖрдк рдЯреНрд░реИрдлрд╝рд┐рдХ рдиреАрддрд┐рдпреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдПрдХреНрд╕реЗрд╕ рдХрдВрдЯреНрд░реЛрд▓, рд░реЗрдЯ рд▓рд┐рдорд┐рдЯрд┐рдВрдЧ рдФрд░ рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд┐рдВрдЧ, рдЗрд╕рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ рдкреНрд░рд▓реЗрдЦрди

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

рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рд╕рд░реНрд╡рд┐рд╕ рдореЗрд╢ рдореБрдлреНрдд рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ рдкреЛрд░реНрдЯрд▓ F5. рдЗрд╕реЗ рдЕрдкрдиреЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рд╡реЗрд╢ рдореЗрдВ рдЖрдЬрд╝рдорд╛рдПрдБ рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдореЗрдВ рд▓рд┐рдЦреЗрдВ.

рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рдкреНрд▓рд╕ рдЗрдирдЧреНрд░реЗрд╕ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ рдЖрдЬрд╝рдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВ рдирд┐рдГрд╢реБрд▓реНрдХ рдкрд░реАрдХреНрд╖рдг рдЕрд╡рдзрд┐ 30 рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╛ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдХрдВрдкрдиреА рдЗрдВрдЬреАрдирд┐рдпрд░ рдкрд╛рд╡реЗрд▓ рдбреЗрдордХреЛрд╡рд┐рдЪ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╡рд╛рдж Southbridge. рдкреНрд░рддрд┐ рдорд╛рд╣ RUB 15 рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдиред рдФрд░ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ - рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗрдВрджреНрд░ рд╕реНрд▓рдо, рдЕрднреНрдпрд╛рд╕ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдирд╣реАрдВред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ