NGINX рд╕реЗрд╡рд╛ рдЬрд╛рд▓ рдЙрдкрд▓рдмреНрдз рдЫ

NGINX рд╕реЗрд╡рд╛ рдЬрд╛рд▓ рдЙрдкрд▓рдмреНрдз рдЫ

рд╣рд╛рдореА рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рд╕реНрддреБрдд рдЧрд░реНрди рдЦреБрд╕реА рдЫреМрдВ NGINX рд╕реЗрд╡рд╛ рдЬрд╛рд▓ (NSM), рдПрдХ рдмрдиреНрдбрд▓ рдЧрд░рд┐рдПрдХреЛ рд╣рд▓реНрдХрд╛ рд╕реЗрд╡рд╛ рдЬрд╛рд▓ рдЬрд╕рд▓реЗ Kubernetes рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдХрдиреНрдЯреЗрдирд░ рдЯреНрд░рд╛рдлрд┐рдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди NGINX рдкреНрд▓рд╕-рдЖрдзрд╛рд░рд┐рдд рдбрд╛рдЯрд╛ рдкреНрд▓реЗрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред

NSM рдирд┐: рд╢реБрд▓реНрдХ рдЫ рдпрд╣рд╛рдБ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрдиреБрд╣реЛрд╕реНред рд╣рд╛рдореА рдЖрд╢рд╛ рдЧрд░реНрджрдЫреМрдВ рдХрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рд▓рд╛рдИ рд╡рд┐рдХрд╛рд╕ рд░ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБрд╣реБрдиреЗрдЫ - рд░ рддрдкрд╛рдИрдВрдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдХреЛ рд▓рд╛рдЧрд┐ рддрддреНрдкрд░ рд╣реБрдиреБрд╣реБрдиреНрдЫ GitHub рдорд╛.

рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрднрд┐рд╕реЗрд╕ рдкрджреНрдзрддрд┐рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрдард┐рдирд╛рдЗрд╣рд░реВрд▓реЗ рднрд░рд┐рдПрдХреЛ рдЫ рдХрд┐рдирдХрд┐ рдбреЗрд▓рд┐рднрд░реАрдХреЛ рд╕реНрдХреЗрд▓ рдмрдвреНрджреИ рдЬрд╛рдиреНрдЫ, рд╕рд╛рдереИ рдпрд╕рдХреЛ рдЬрдЯрд┐рд▓рддрд╛ рдкрдирд┐ред рд╕реЗрд╡рд╛рд╣рд░реВ рдмреАрдЪрдХреЛ рд╕рдЮреНрдЪрд╛рд░ рдердк рдЬрдЯрд┐рд▓ рд╣реБрдиреНрдЫ, рдбрд┐рдмрдЧрд┐рдЩ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдЕрдЭ рдЧрд╛рд╣реНрд░реЛ рд╣реБрдиреНрдЫрдиреН, рд░ рдЕрдзрд┐рдХ рд░ рдЕрдзрд┐рдХ рд╕реЗрд╡рд╛рд╣рд░реВрд▓рд╛рдИ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди рдердк рд╕реНрд░реЛрддрд╣рд░реВ рдЪрд╛рд╣рд┐рдиреНрдЫред

NSM рд▓реЗ рддрдкрд╛рдИрд▓рд╛рдИ рдирд┐рдореНрди рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реЗрд░ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдЫ:

  • рд╕реБрд░рдХреНрд╖рд╛, рдЬреБрди рдЕрд╣рд┐рд▓реЗ рдкрд╣рд┐рд▓реЗ рднрдиреНрджрд╛ рдзреЗрд░реИ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫред рдбрд╛рдЯрд╛ рдЙрд▓реНрд▓рдЩреНрдШрдирд▓реЗ рдХрдореНрдкрдиреАрд▓рд╛рдИ рд╣рд░рд╛рдПрдХреЛ рд░рд╛рдЬрд╕реНрд╡ рд░ рдкреНрд░рддрд┐рд╖реНрдард╛рдорд╛ рд╡рд╛рд░реНрд╖рд┐рдХ рд▓рд╛рдЦреМрдВ рдбрд▓рд░ рдЦрд░реНрдЪ рдЧрд░реНрди рд╕рдХреНрдЫред NSM рд▓реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрджрдЫ рдХрд┐ рд╕рдмреИ рдЬрдбрд╛рдирд╣рд░реВ mTLS рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЗрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдЫрдиреН, рддреНрдпрд╕реИрд▓реЗ рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рд╣реНрдпрд╛рдХрд░рд╣рд░реВрд▓реЗ рдЪреЛрд░реА рдЧрд░реНрди рд╕рдХреНрдиреЗ рдХреБрдиреИ рдкрдирд┐ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ рдЫреИрдиред рдкрд╣реБрдБрдЪ рдирд┐рдпрдиреНрддреНрд░рдгрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╕реЗрд╡рд╛рд╣рд░реВрд▓реЗ рдЕрдиреНрдп рд╕реЗрд╡рд╛рд╣рд░реВрд╕рдБрдЧ рдХрд╕рд░реА рд╕рдЮреНрдЪрд╛рд░ рдЧрд░реНрдиреЗ рднрдиреНрдиреЗ рдиреАрддрд┐рд╣рд░реВ рд╕реЗрдЯ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
  • рдЯреНрд░рд╛рдлрд┐рдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдиред рдПрдкреНрд▓рд┐рдХреЗрд╕рдирдХреЛ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдг рдвреБрд╡рд╛рдиреА рдЧрд░реНрджрд╛, рддрдкрд╛рдЗрдБ рддреНрд░реБрдЯрд┐рдХреЛ рдЕрд╡рд╕реНрдерд╛рдорд╛ рдпрд╕рдорд╛ рдЖрдЙрдиреЗ рдЯреНрд░рд╛рдлрд┐рдХрд▓рд╛рдИ рдкреНрд░рддрд┐рдмрдиреНрдз рдЧрд░реЗрд░ рд╕реБрд░реБ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред NSM рдХреЛ рдмреБрджреНрдзрд┐рдорд╛рди рдХрдиреНрдЯреЗрдирд░ рдЯреНрд░рд╛рдлрд┐рдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирдХреЛ рд╕рд╛рде, рддрдкрд╛рдИрдВрд▓реЗ рдирдпрд╛рдБ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЯреНрд░рд╛рдлрд┐рдХ рдкреНрд░рддрд┐рдмрдиреНрдз рдиреАрддрд┐ рд╕реЗрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдЬрд╕рд▓реЗ рд╕рдордпрд╕рдБрдЧреИ рдЯреНрд░рд╛рдлрд┐рдХ рдмрдврд╛рдЙрдиреЗрдЫред рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ, рдЬрд╕реНрддреИ рд╕реНрдкреАрдб рд▓рд┐рдорд┐рдЯрд┐рдЩ рд░ рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд░рд╣рд░реВрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЖрдлреНрдирд╛ рд╕рдмреИ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рдЯреНрд░рд╛рдлрд┐рдХ рдкреНрд░рд╡рд╛рд╣рдорд╛ рдкреВрд░реНрдг рдирд┐рдпрдиреНрддреНрд░рдг рджрд┐рдиреНрдЫред
  • рджреГрд╢реНрдпред рд╣рдЬрд╛рд░реМрдВ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдбрд┐рдмрдЧрд┐рдЩ рд░ рднрд┐рдЬреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рджреБрдГрд╕реНрд╡рдкреНрди рд╣реБрди рд╕рдХреНрдЫред NSM рд▓реЗ NGINX Plus рдорд╛ рдЙрдкрд▓рдмреНрдз рд╕рдмреИ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рджреЗрдЦрд╛рдЙрдиреЗ рдмрд┐рд▓реНрдЯ-рдЗрди Grafana рдбреНрдпрд╛рд╕рдмреЛрд░реНрдбрдХреЛ рд╕рд╛рде рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдХреЛ рд╕рд╛рдордирд╛ рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрджрдЫред рд░ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдУрдкрди рдЯреНрд░реЗрд╕рд┐рдЩрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╡рд┐рд╕реНрддреГрдд рд░реВрдкрдорд╛ рд▓реЗрдирджреЗрдирдХреЛ рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
  • рд╣рд╛рдЗрдмреНрд░рд┐рдб рд╡рд┐рддрд░рдг, рдпрджрд┐ рддрдкрд╛рдЗрдБрдХреЛ рдХрдореНрдкрдиреА, рдЕрдиреНрдп рдзреЗрд░реИрдЬрд╕реНрддреИ, Kubernetes рдорд╛ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИрдиред NSM рд▓реЗ рд▓рд┐рдЧреЗрд╕реА рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрд▓рд╛рдИ рдзреНрдпрд╛рди рдирджрд┐рдЗрдиреЗ рдХреБрд░рд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрджрдЫред рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ NGINX Kubernetes Ingress рдирд┐рдпрдиреНрддреНрд░рдХрдХреЛ рд╕рд╣рдпреЛрдЧрдорд╛, рд▓рд┐рдЧреЗрд╕реА рд╕реЗрд╡рд╛рд╣рд░реВрд▓реЗ рдЬрд╛рд▓ рд╕реЗрд╡рд╛рд╣рд░реВрд╕рдБрдЧ рд╕рдЮреНрдЪрд╛рд░ рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрдиреЗрдЫрдиреН, рд░ рдпрд╕рдХреЛ рд╡рд┐рдкрд░реАрддред

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

NGINX рд╕реЗрд╡рд╛ рдореЗрд╖рд▓реЗ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫ?

NSM рд▓реЗ рддреЗрд░реНрд╕реЛ (рд╕рд░реНрднрд┐рд╕-рдЯреВ-рд╕рд░реНрднрд┐рд╕) рдЯреНрд░рд╛рдлрд┐рдХрдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдПрдХреАрдХреГрдд рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рд░ рдард╛рдбреЛ рдЯреНрд░рд╛рдлрд┐рдХрдХреЛ рд▓рд╛рдЧрд┐ рдПрдореНрдмреЗрдбреЗрдб NGINX рдкреНрд▓рд╕ рдЗрдиреНрдЧреНрд░реЗрд╕ рдХрдиреНрдЯреНрд░реЛрд▓рд░ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ, рдПрдХрд▓ рдирд┐рдпрдиреНрддреНрд░рдг рдкреНрд▓реЗрдирджреНрд╡рд╛рд░рд╛ рд╡реНрдпрд╡рд╕реНрдерд┐рддред

рдХрдиреНрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рд╡рд┐рд╢реЗрд╖ рдЧрд░реА NGINX Plus рдбреЗрдЯрд╛ рдкреНрд▓реЗрдирдХрд╛ рд▓рд╛рдЧрд┐ рдбрд┐рдЬрд╛рдЗрди рд░ рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬ рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ NGINX Plus рд╕рд╛рдЗрдбрдХрд╛рд░рд╣рд░реВрдорд╛ рд╡рд┐рддрд░рд┐рдд рдЯреНрд░рд╛рдлрд┐рдХ рдирд┐рдпрдиреНрддреНрд░рдг рдирд┐рдпрдорд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрджрдЫред

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

  • Grafana, Prometheus рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рднрд┐рдЬреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди, рдирд┐рд░реНрдорд┐рдд NSM рдкреНрдпрд╛рдирд▓рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рддрдкрд╛рдИрдВрдХреЛ рдХрд╛рдордорд╛ рдорджреНрджрдд рдЧрд░реНрджрдЫ;
  • Kubernetes Ingress рдирд┐рдпрдиреНрддреНрд░рдХрд╣рд░реВ, рдЬрд╛рд▓рдорд╛ рдЖрдЧрдорди рд░ рдмрд╛рд╣рд┐рд░ рдЬрд╛рдиреЗ рдЯреНрд░рд╛рдлрд┐рдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐;
  • SPIRE, CA рдЬрд╛рд▓рдорд╛ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди, рд╡рд┐рддрд░рдг рд░ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐;
  • NATS, рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдкрдард╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрдХреЗрд▓реЗрдмрд▓ рдкреНрд░рдгрд╛рд▓реА, рдЬрд╕реНрддреИ рдорд╛рд░реНрдЧ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХрд╣рд░реВ, рдирд┐рдпрдиреНрддреНрд░рдг рд╡рд┐рдорд╛рдирдмрд╛рдЯ рд╕рд╛рдЗрдбрдХрд╛рд░рд╣рд░реВрдорд╛;
  • рдЦреБрд▓рд╛ рдЯреНрд░реЗрд╕рд┐рдЩ, рдбрд┐рдмрдЧрд┐рдЩ рд╡рд┐рддрд░рд┐рдд (рдЬрд┐рдкрдХрд┐рди рд░ рдЬреЗрдЧрд░ рд╕рдорд░реНрдерд┐рдд);
  • Prometheus рд▓реЗ NGINX Plus sidecars рдмрд╛рдЯ рдЕрдиреБрд░реЛрдзрд╣рд░реВ, рдЬрдбрд╛рдирд╣рд░реВ рд░ SSL рд╣реНрдпрд╛рдиреНрдбрд╕реЗрдХрд╣рд░реВ рдЬрд╕реНрддрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВ рд╕рдЩреНрдХрд▓рди рд░ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрджрдЫред

рдХрд╛рд░реНрдпрд╣рд░реВ рд░ рдЕрд╡рдпрд╡рд╣рд░реВ

NGINX Plus рд▓реЗ рдбреЗрдЯрд╛ рдкреНрд▓реЗрдирдХреЛ рд░реВрдкрдорд╛ рд╕рд╛рдЗрдбрдХрд╛рд░ рдкреНрд░реЛрдХреНрд╕реА (рддреЗрд░реНрд╕реЛ рдЯреНрд░рд╛рдлрд┐рдХ) рд░ рдЗрдиреНрдЧреНрд░реЗрд╕ рдХрдиреНрдЯреНрд░реЛрд▓рд░ (рдард╛рдбреЛ) рд▓рд╛рдИ рдХрднрд░ рдЧрд░реНрджрдЫ, рд╕реЗрд╡рд╛рд╣рд░реВ рдмреАрдЪ рдХрдиреНрдЯреЗрдирд░ рдЯреНрд░рд╛рдлрд┐рдХрд▓рд╛рдИ рдЕрд╡рд░реЛрдз рдЧрд░реНрдиреЗ рд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрджрдЫред

рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢:

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

NGINX рд╕реЗрд╡рд╛ рдЬрд╛рд▓ рд╕реБрд░реБ рдЧрд░реНрджреИ

NSM рдЪрд▓рд╛рдЙрди рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЖрд╡рд╢реНрдпрдХ рдЫ:

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

рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕реЗрдЯрд┐рдЩрд╣рд░реВрд╕рдБрдЧ NSM рдбрд┐рдкреНрд▓реЛрдп рдЧрд░реНрди, рдирд┐рдореНрди рдЖрджреЗрд╢ рдЪрд▓рд╛рдЙрдиреБрд╣реЛрд╕реНред рдкрд░рд┐рдирд┐рдпреЛрдЬрдирдХреЛ рдХреНрд░рдордорд╛, рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВрдХреЛ рд╕рдлрд▓ рд╕реНрдерд╛рдкрдирд╛ рд░ рдЕрдиреНрддрдорд╛, NSM рдЫреБрдЯреНрдЯреИ рдиреЗрдорд╕реНрдкреЗрд╕рдорд╛ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рд╕рдЩреНрдХреЗрдд рдЧрд░реНрдиреЗ рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реБрдиреНрдЫрдиреН (рддрдкрд╛рдИрдВрд▓реЗ рдкрд╣рд┐рд▓реЗ ╤Б╨║╨░╤З╨░╤В╤М рд░ рдпрд╕рд▓рд╛рдИ рд░рдЬрд┐рд╕реНрдЯреНрд░реАрдорд╛ рд░рд╛рдЦреНрдиреБрд╣реЛрд╕реН, рд▓рдЧрднрдЧред рдЕрдиреБрд╡рд╛рджрдХ):

$ 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

рдореНрдпрд╛рдиреБрдЕрд▓ рд╡рд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЗрдВрдЬреЗрдХреНрд╢рди рдиреАрддрд┐рд╣рд░реВ рд╕реЗрдЯ рдЧрд░реНрдиреЗ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реЗрдЯрд┐рдЩрд╣рд░реВрдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджреИ, NGINX рд╕рд╛рдЗрдбрдХрд╛рд░ рдкреНрд░реЛрдХреНрд╕реАрд╣рд░реВ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдорд╛ рдердкрд┐рдиреЗрдЫрдиреНред рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдердкреНрдиреЗ рдЕрд╕рдХреНрд╖рдо рдЧрд░реНрди, рдкрдвреНрдиреБрд╣реЛрд╕реН рдпрд╣рд╛рдБ

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

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

рд╣рд╛рдореА рдкрдирд┐ рдЖрд╡реЗрджрди рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдирд┐рджреНрд░рд╛рдорд╛ NGINX рдкреНрд▓рд╕ рдкреНрдпрд╛рдирд▓рдорд╛, рддрдкрд╛рдИрдВрдХреЛ рд╕реНрдерд╛рдиреАрдп рдореЗрд╕рд┐рдирдмрд╛рдЯ рд╕рд╛рдЗрдбрдХрд╛рд░ рдкрд╣реБрдБрдЪ рдЧрд░реНрди рдпреЛ рдЖрджреЗрд╢ рдЪрд▓рд╛рдЙрдБрджреИ:

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

рддреНрдпрд╕рдкрдЫрд┐ рдорд╛рддреНрд░ рд╣рд╛рдореА рднрд┐рддреНрд░ рдЬрд╛рдиреНрдЫреМрдВ рдпрд╣рд╛рдБ рдмреНрд░рд╛рдЙрдЬрд░рдорд╛ред рддрдкрд╛рдИрдВ рдкрдирд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реНрди Prometheus рдЬрдбрд╛рди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдирд┐рджреНрд░рд╛рдорд╛.

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

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

NGINX рд╕реЗрд╡рд╛ рдЬрд╛рд▓ рдирд┐рдГрд╢реБрд▓реНрдХ рдбрд╛рдЙрдирд▓реЛрдбрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрд▓рдмреНрдз рдЫ рдкреЛрд░реНрдЯрд▓ F5ред рдпрд╕рд▓рд╛рдИ рддрдкрд╛рдИрдВрдХреЛ dev рд░ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдирддрд┐рдЬрд╛ рдмрд╛рд░реЗ рд╣рд╛рдореАрд▓рд╛рдИ рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реН.

NGINX Plus Ingress Controller рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрди, рд╕рдХреНрд░рд┐рдп рдЧрд░реНрдиреБрд╣реЛрд╕реН рдирд┐: рд╢реБрд▓реНрдХ рдкрд░реАрдХреНрд╖рдг рдЕрд╡рдзрд┐ 30 рджрд┐рдирдХреЛ рд▓рд╛рдЧрд┐, рд╡рд╛ рд╣рд╛рдореАрд▓рд╛рдИ рд╕рдореНрдкрд░реНрдХ рдЧрд░реНрдиреБрд╣реЛрд╕ рддрдкрд╛рдЗрдБрдХреЛ рдкреНрд░рдпреЛрдЧ рдорд╛рдорд┐рд▓рд╛рд╣рд░реБ рдЫрд▓рдлрд▓ рдЧрд░реНрдиред

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

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

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