GitOps: рдПрдХ рдФрд░ рдЪрд░реНрдЪрд╛ рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рди рдореЗрдВ рдПрдХ рд╕рдлрд▓рддрд╛?

GitOps: рдПрдХ рдФрд░ рдЪрд░реНрдЪрд╛ рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рди рдореЗрдВ рдПрдХ рд╕рдлрд▓рддрд╛?

рд╣рдо рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢, рдЖрдИрдЯреА рдмреНрд▓реЙрдЧ рдЬрдЧрдд рдпрд╛ рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдПрдХ рдФрд░ рдирдП рд╢рдмреНрдж рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рджреЗрд░-рд╕рдмреЗрд░ рдПрдХ рд╕рдорд╛рди рдкреНрд░рд╢реНрди рдкреВрдЫрддреЗ рд╣реИрдВ: тАЬрдпрд╣ рдХреНрдпрд╛ рд╣реИ? рдмрд╕ рдПрдХ рдФрд░ рдЪрд░реНрдЪрд╛ рдХрд╛ рд╢рдмреНрдж, рдПрдХ "рдЪрд░реНрдЪрд╛" рдпрд╛ рдХреБрдЫ рдРрд╕рд╛ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдзреНрдпрд╛рди рджреЗрдиреЗ, рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдФрд░ рдирдП рдХреНрд╖рд┐рддрд┐рдЬ рдХрд╛ рд╡рд╛рджрд╛ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рд╣реИ? рдЗрд╕ рд╢рдмреНрдж рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рд╕рд╛рде рднреА рдпрд╣реА рд╣реБрдЖ GitOps рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗред рдХрдИ рдореМрдЬреВрджрд╛ рд▓реЗрдЦреЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдХрдВрдкрдиреА рдХреЗ рд╕рд╣рдХрд░реНрдорд┐рдпреЛрдВ рдХреЗ рдЬреНрдЮрд╛рди рд╕реЗ рд▓реИрд╕ GitLab, рдореИрдВрдиреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдХрд┐ рдпрд╣ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЬрд╛рдирд╡рд░ рд╣реИ, рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕рд╛ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИред

рд╡реИрд╕реЗ, рд╢рдмреНрдж рдХреА рдирд╡реАрдирддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ GitOps рд╣рдорд╛рд░рд╛ рд╣рд╛рд▓рд┐рдпрд╛ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рднреА рдХрд╣рддрд╛ рд╣реИ: рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдЖрдзреЗ рд╕реЗ рдЕрдзрд┐рдХ рд▓реЛрдЧреЛрдВ рдиреЗ рдЕрднреА рддрдХ рдЗрд╕рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред

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

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

рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдВрддрд░ рдХреНрдпрд╛ рд╣реИ? GitOps рд╕реЗ рдЖрдИрдПрд╕реА? рдЗрд╕реА рдкреНрд░рд╢реНрди рдХреЗ рд╕рд╛рде рдореИрдВрдиреЗ рдЕрдкрдиреА рдЬрд╛рдВрдЪ рд╢реБрд░реВ рдХреАред рд╕рд╣рдХрд░реНрдорд┐рдпреЛрдВ рд╕реЗ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реБрдЖ:

GitOps

рдЖрдИрдПрд╕реА

рд╕рднреА рдХреЛрдб рдПрдХ git рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ

рдХреЛрдб рд╕рдВрд╕реНрдХрд░рдг рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ

рдШреЛрд╖рдгрд╛рддреНрдордХ рдХреЛрдб рд╡рд┐рд╡рд░рдг/рдЗрдбреЗрдореНрдкреЛрдЯреЗрдВрд╕реА

рдШреЛрд╖рдгрд╛рддреНрдордХ рдФрд░ рдЕрдирд┐рд╡рд╛рд░реНрдп рджреЛрдиреЛрдВ рд╡рд┐рд╡рд░рдг рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИрдВ

рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз/рдкреБрд▓ рдЕрдиреБрд░реЛрдз рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рднрд╛рд╡реА рд╣реЛрддреЗ рд╣реИрдВ

рд╕рдордЭреМрддрд╛, рдЕрдиреБрдореЛрджрди рдФрд░ рд╕рд╣рдпреЛрдЧ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИрдВ

рдЕрдкрдбреЗрдЯ рд░реЛрд▓рдЖрдЙрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реИ

рдЕрджреНрдпрддрди рд░реЛрд▓рдЖрдЙрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдорд╛рдирдХреАрдХреГрдд рдирд╣реАрдВ рд╣реИ (рд╕реНрд╡рдЪрд╛рд▓рд┐рдд, рдореИрдиреНрдпреБрдЕрд▓, рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдирд╛, рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрджрд┐)

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

рджреВрд╕рд░реА рдУрд░, рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рдкреНрд░рдмрдВрдзрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛ред рдЕрдм рдпрд╣ рдХрд╛рдо рддреЗрдЬреА рд╕реЗ, рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдФрд░ рд╕рд╕реНрддреЗ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реАрдЖрдИ/рд╕реАрдбреА рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмреАрдЪ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬреНрдЮрд╛рдд рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рдереЗред рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬреНрдЮрд╛рдд рдЬреНрдЮрд╛рди рдФрд░ рдХреМрд╢рд▓ рдХреЛ рдПрдХ рдирдП рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдФрд░ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпреЗ рдкреНрд░рдерд╛рдПрдБ рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреА рдорд╛рдирдХ рдкрд░рд┐рднрд╛рд╖рд╛ рд╕реЗ рдЖрдЧреЗ рдирд┐рдХрд▓ рдЧрдИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИ GitOps.

GitOps: рдПрдХ рдФрд░ рдЪрд░реНрдЪрд╛ рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рди рдореЗрдВ рдПрдХ рд╕рдлрд▓рддрд╛?

рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ GitOpsрдмреЗрд╢рдХ, рдЗрд╕ рддрдереНрдп рдореЗрдВ рднреА рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рд╡рд┐рдХреНрд░реЗрддрд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рдЙрддреНрдкрд╛рдж, рдкреНрд▓рдЧрдЗрди рдпрд╛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдирд╣реАрдВ рд╣реИред рдпрд╣ рдПрдХ рдкреНрд░рддрд┐рдорд╛рди рдФрд░ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ, рдПрдХ рдЕрдиреНрдп рд╢рдмреНрдж рдХреЗ рд╕рдорд╛рди рд╣реИ рдЬрд┐рд╕рд╕реЗ рд╣рдо рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ: DevOpsред

рдХрдВрдкрдиреА GitLab рд╣рдордиреЗ рдЗрд╕ рдирдП рд╢рдмреНрдж рдХреА рджреЛ рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рд╡рд┐рдХрд╕рд┐рдд рдХреА рд╣реИрдВ: рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдФрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХред рдЖрдЗрдП рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ:

GitOps рдПрдХ рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рд╣реИ рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд░реНрд╡реЛрддреНрддрдо DevOps рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЛ рд▓реЗрддреА рд╣реИ, рдЬреИрд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг, рд╕рд╣рдпреЛрдЧ, рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди, CI/CD, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдкреНрд░рдмрдВрдзрди рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЪреБрдиреМрддрд┐рдпреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИред

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

рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рд╣рдо рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ GitOps рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:

GitOps: рдПрдХ рдФрд░ рдЪрд░реНрдЪрд╛ рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рди рдореЗрдВ рдПрдХ рд╕рдлрд▓рддрд╛?

рд╣рдо рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рдлреЙрд░реНрдореВрд▓реЗ рдХреЗ рдкреНрд░рдореБрдЦ рдШрдЯрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВред рдЖрдЗрдпреЗ рдмрд╛рдХреА рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХрд╛ рдкрд░рд┐рдЪрдп рдХрд░рд╛рддреЗ рд╣реИрдВред

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

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

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

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

рдФрд░ рдпрджрд┐ рдЖрдк рдЕрдЪрд╛рдирдХ рдЗрд╕ рдмрд╛рдд рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рдм рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЖрдкрдХреЛ рд╣рдорд╛рд░реА рдУрд░ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдорд╛рд╕реНрдЯрд░ рдХреНрд▓рд╛рд╕, рдЬрд┐рд╕рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдЪрд░рдг рджрд░ рдЪрд░рдг рдмрддрд╛рддрд╛ рд╣реВрдВ рдХрд┐ GitLab рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ:

  • GitOps рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВ

  • рдХреНрд▓рд╛рдЙрдб рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдмрдирд╛рдПрдВ рдФрд░ рдЙрд╕рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░реЗрдВ (рдпрд╛рдВрдбреЗрдХреНрд╕ рдХреНрд▓рд╛рдЙрдб рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)

  • рд╕рдХреНрд░рд┐рдп рдирд┐рдЧрд░рд╛рдиреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд╛рдВрдЫрд┐рдд рд╕реНрдерд┐рддрд┐ рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдмрд╣рд╛рд╡ рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрддрд╛ рд▓рдЧрд╛рдирд╛

GitOps: рдПрдХ рдФрд░ рдЪрд░реНрдЪрд╛ рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рди рдореЗрдВ рдПрдХ рд╕рдлрд▓рддрд╛?https://bit.ly/34tRpwZ

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

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