GitOps: рдЖрдгрдЦреА рдПрдХ рдмрдЭрд╡рд░реНрдб рдХрд┐рдВрд╡рд╛ рдСрдЯреЛрдореЗрд╢рдирдордзреАрд▓ рдкреНрд░рдЧрддреА?

GitOps: рдЖрдгрдЦреА рдПрдХ рдмрдЭрд╡рд░реНрдб рдХрд┐рдВрд╡рд╛ рдСрдЯреЛрдореЗрд╢рдирдордзреАрд▓ рдкреНрд░рдЧрддреА?

рдЖрдкрд▓реНрдпрд╛рдкреИрдХреА рдмрд░реЗрдЪ рдЬрдг, рдЖрдпрдЯреА рдмреНрд▓реЙрдЧрд╕реНрдлреАрдЕрд░ рдХрд┐рдВрд╡рд╛ рдХреЙрдиреНрдлрд░рдиреНрд╕рдордзреНрдпреЗ рдЖрдгрдЦреА рдПрдХ рдирд╡реАрди рд╢рдмреНрдж рд▓рдХреНрд╖рд╛рдд рдШреЗрдКрди, рд▓рд╡рдХрд░рдЪ рдХрд┐рдВрд╡рд╛ рдирдВрддрд░ рдПрдХ рд╕рдорд╛рди рдкреНрд░рд╢реНрди рд╡рд┐рдЪрд╛рд░рддрд╛рдд: тАЬрд╣реЗ рдХрд╛рдп рдЖрд╣реЗ? рдлрдХреНрдд рдЖрдгрдЦреА рдПрдХ buzzword, рдПрдХ "buzzword," рдХрд┐рдВрд╡рд╛ рдХрд╛рд╣реАрддрд░реА рдЦрд░реЛрдЦрд░ рд▓рдХреНрд╖ рджреЗрдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ, рдЕрднреНрдпрд╛рд╕ рдХрд░рдгреЗ рдЖрдгрд┐ рдирд╡реАрди рдХреНрд╖рд┐рддрд┐рдЬреЗ рд╡рдЪрди рджреЗрдгреЗ? рдорд╛рдЭреНрдпрд╛ рдмрд╛рдмрддреАрддрд╣реА рдЕрд╕реЗрдЪ рдШрдбрд▓реЗ GitOps рдХрд╛рд╣реА рдХрд╛рд│рд╛рдкреВрд░реНрд╡реА. рдЕрдиреЗрдХ рд╡рд┐рджреНрдпрдорд╛рди рд▓реЗрдЦрд╛рдВрд╕рд╣ рд╕рд╢рд╕реНрддреНрд░, рддрд╕реЗрдЪ рдХрдВрдкрдиреАрддреАрд▓ рд╕рд╣рдХрд╛рд░реНрдпрд╛рдВрдЪреЗ рдЬреНрдЮрд╛рди рдЧрд┐рдЯреЕрдм, рдореА рд╣реЗ рдХреЛрдгрддреНрдпрд╛ рдкреНрд░рдХрд╛рд░рдЪреЗ рд╢реНрд╡рд╛рдкрдж рдЖрд╣реЗ рд╣реЗ рд╢реЛрдзрдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХреЗрд▓рд╛ рдЖрдгрд┐ рддреНрдпрд╛рдЪрд╛ рдЙрдкрдпреЛрдЧ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдд рдХрд╕рд╛ рджрд┐рд╕рддреЛ.

рддрд╕реЗ, рдпрд╛ рд╕рдВрдЬреНрдЮреЗрдЪреНрдпрд╛ рдирд╡реАрдирддреЗрдмрджреНрджрд▓ GitOps рдЖрдордЪреЗ рдЕрд▓реАрдХрдбреАрд▓ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдЕрд╕реЗрд╣реА рдореНрд╣рдгрддреЗ: рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХреЗрд▓реЗрд▓реНрдпрд╛рдВрдкреИрдХреА рдЕрд░реНрдзреНрдпрд╛рд╣реВрди рдЕрдзрд┐рдХ рд▓реЛрдХрд╛рдВрдиреА рдЕрджреНрдпрд╛рдк рддреНрдпрд╛рдЪреНрдпрд╛ рддрддреНрддреНрд╡рд╛рдВрдиреБрд╕рд╛рд░ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реЗрд▓реА рдирд╛рд╣реА.

рддреНрдпрд╛рдореБрд│реЗ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪреНрдпрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирд╛рдЪреА рд╕рдорд╕реНрдпрд╛ рдирд╡реАрди рдирд╛рд╣реА. рдЕрдиреЗрдХ рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддреЗ рд╕рд╛рдорд╛рдиреНрдп рд▓реЛрдХрд╛рдВрд╕рд╛рдареА рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдбрдЭрди рд╡рд░реНрд╖рд╛рдВрдкрд╛рд╕реВрди рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗрдд рдЖрдгрд┐ рдЕрд╕реЗ рджрд┐рд╕рддреЗ рдХреА, рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рдВрдШрд╛рдВрдЪреЗ рдХрд╛рд░реНрдп рд╕реЛрдкреЗ рдЖрдгрд┐ рд╕рд░рд│ рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ. рддрдерд╛рдкрд┐, рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╢реА рддреБрд▓рдирд╛ рдХреЗрд▓реА рдЕрд╕рддрд╛ (рдЬреЗрдереЗ рдСрдЯреЛрдореЗрд╢рди рдирд╡реАрди рд╕реНрддрд░рд╛рдВрд╡рд░ рдкреЛрд╣реЛрдЪрдд рдЖрд╣реЗ), рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ рдЕрдЬреВрдирд╣реА рдЕрдиреЗрдХрджрд╛ рдЕрдиреЗрдХ рдореЕрдиреНрдпреБрдЕрд▓ рдХрд╛рд░реНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЕрд╕рддрд╛рдд рдЖрдгрд┐ рд╡рд┐рд╢реЗрд╖ рдЬреНрдЮрд╛рди рдЖрдгрд┐ рдХреМрд╢рд▓реНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рддреЗ, рд╡рд┐рд╢реЗрд╖рдд: рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛, рд▓рд╡рдЪрд┐рдХрддрд╛, рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдЖрдгрд┐ рд▓рд╡рдЪрд┐рдХрддрд╛ рдпрд╛ рдЖрдЬрдЪреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд▓рдХреНрд╖рд╛рдд рдШреЗрддрд╛.

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

рдордЧ рдиреЗрдордХрд╛ рдлрд░рдХ рдХрд╛рдп? GitOps рдкрд╛рд╕реВрди рдЖрдпрдПрд╕реА? рдпрд╛ рдкреНрд░рд╢реНрдирд╛рдиреЗрдЪ рдореА рдорд╛рдЭреА рдЪреМрдХрд╢реА рд╕реБрд░реВ рдХреЗрд▓реА. рд╕рд╣рдХрд╛рд▒реНрдпрд╛рдВрд╢реА рдмреЛрд▓рд▓реНрдпрд╛рдирдВрддрд░, рдореА рдЦрд╛рд▓реАрд▓ рддреБрд▓рдирд╛ рдХрд░реВ рд╢рдХрд▓реЛ:

GitOps

рдЖрдпрдПрд╕реА

рд╕рд░реНрд╡ рдХреЛрдб рдЧрд┐рдЯ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рд╕рд╛рдард╡рд▓реЗ рдЬрд╛рддрд╛рдд

рдХреЛрдб рдЖрд╡реГрддреНрддреА рдкрд░реНрдпрд╛рдпреА рдЖрд╣реЗ

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

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

рд╡рд┐рд▓реАрдиреАрдХрд░рдг рд╡рд┐рдирдВрддреА/рдкреБрд▓ рд╡рд┐рдирдВрддреА рдпрдВрддреНрд░рдгрд╛ рд╡рд╛рдкрд░реВрди рдмрджрд▓ рдкреНрд░рднрд╛рд╡реА рд╣реЛрддрд╛рдд

рдХрд░рд╛рд░, рдордВрдЬреВрд░реА рдЖрдгрд┐ рд╕рд╣рдпреЛрдЧ рдРрдЪреНрдЫрд┐рдХ рдЖрд╣реЗрдд

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

рдЕрдкрдбреЗрдЯ рд░реЛрд▓рдЖрдЙрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдорд╛рдгрд┐рдд рдирд╛рд╣реА (рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд, рдореЕрдиреНрдпреБрдЕрд▓, рдлрд╛рдпрд▓реА рдХреЙрдкреА рдХрд░рдгреЗ, рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╡рд╛рдкрд░рдгреЗ рдЗ.)

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

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

GitOps: рдЖрдгрдЦреА рдПрдХ рдмрдЭрд╡рд░реНрдб рдХрд┐рдВрд╡рд╛ рдСрдЯреЛрдореЗрд╢рдирдордзреАрд▓ рдкреНрд░рдЧрддреА?

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

рдХрдВрдкрдиреА рдордзреНрдпреЗ рдЧрд┐рдЯреЕрдм рдЖрдореНрд╣реА рдпрд╛ рдирд╡реАрди рд╢рдмреНрджрд╛рдЪреНрдпрд╛ рджреЛрди рд╡реНрдпрд╛рдЦреНрдпрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд: рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдЖрдгрд┐ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ. рдЪрд▓рд╛ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╕рд╣ рдкреНрд░рд╛рд░рдВрдн рдХрд░реВрдпрд╛:

GitOps рд╣реА рдПрдХ рдкрджреНрдзрдд рдЖрд╣реЗ рдЬреА рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯрд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдгрд╛рд░реА рд╕рд░реНрд╡реЛрддреНрддрдо DevOps рддрддреНрддреНрд╡реЗ рдШреЗрддреЗ, рдЬрд╕реЗ рдХреА рдЖрд╡реГрддреНрддреА рдирд┐рдпрдВрддреНрд░рдг, рд╕рд╣рдпреЛрдЧ, рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди, CI/CD, рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирд╛рдЪреНрдпрд╛ рдЖрд╡реНрд╣рд╛рдирд╛рдВрдирд╛ рд▓рд╛рдЧреВ рдХрд░рддреЗ.

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

рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рддреВрди, рдЖрдореНрд╣реА рд╡рд░реНрдгрди рдХрд░рддреЛ GitOps рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ:

GitOps: рдЖрдгрдЦреА рдПрдХ рдмрдЭрд╡рд░реНрдб рдХрд┐рдВрд╡рд╛ рдСрдЯреЛрдореЗрд╢рдирдордзреАрд▓ рдкреНрд░рдЧрддреА?

рдпрд╛ рд╕реВрддреНрд░рд╛рдЪреНрдпрд╛ рдореБрдЦреНрдп рдШрдЯрдХрд╛рдВрдкреИрдХреА рдПрдХ рдореНрд╣рдгреВрди рдЖрдореНрд╣реА рдХреЛрдб рдореНрд╣рдгреВрди рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрд╡рд░ рдЖрдзреАрдЪ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реА рдЖрд╣реЗ. рдмрд╛рдХреАрдЪреНрдпрд╛ рд╕рд╣рднрд╛рдЧреАрдВрдЪреА рдУрд│рдЦ рдХрд░реВрди рджреЗрдК.

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

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

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

рд╣реЛрдп, рдкрдж GitOps рдЖрдореНрд╣рд╛рд▓рд╛ рдкреВрд░реНрдгрдкрдгреЗ рдирд╡реАрди рдХрд╢рд╛рдЪреАрд╣реА рдУрд│рдЦ рдХрд░реВрди рджреЗрдд рдирд╛рд╣реА, рдЪрд╛рдХ рдкреБрдиреНрд╣рд╛ рд╢реЛрдзреВрди рдХрд╛рдврдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рдирд╡реАрди рдХреНрд╖реЗрддреНрд░рд╛рдд рдЖрдзреАрдЪ рдЬрдорд╛ рдХреЗрд▓реЗрд▓рд╛ рдЕрдиреБрднрд╡ рд▓рд╛рдЧреВ рдХрд░рддреЛ. рдкрдг рдЗрдереЗрдЪ рддреНрдпрд╛рдЪреА рддрд╛рдХрдж рдЖрд╣реЗ.

рдЖрдгрд┐ рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрдЪрд╛рдирдХ рд╣реЗ рд╕рд░реНрд╡ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдд рдХрд╕реЗ рджрд┐рд╕рддреЗ рдпрд╛рдмрджреНрджрд▓ рд╕реНрд╡рд╛рд░рд╕реНрдп рдирд┐рд░реНрдорд╛рдг рдЭрд╛рд▓реЗ рддрд░ рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдкрд╛рд╣рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддреЛ рдорд╛рд╕реНрдЯрд░ рд╡рд░реНрдЧ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдореА рддреБрдореНрд╣рд╛рд▓рд╛ GitLab рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рддреЗ рдЪрд░рдг-рджрд░-рдЪрд░рдг рд╕рд╛рдВрдЧрддреЛ:

  • GitOps рдЪреНрдпрд╛ рдореВрд▓рднреВрдд рддрддреНрддреНрд╡рд╛рдВрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рд╛

  • рдХреНрд▓рд╛рдЙрдб рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рддрдпрд╛рд░ рдХрд░рд╛ рдЖрдгрд┐ рддреНрдпрд╛рдд рдмрджрд▓ рдХрд░рд╛ (рдпрд╛рдВрдбреЗрдХреНрд╕ рдХреНрд▓рд╛рдЙрдбрдЪреЗ рдЙрджрд╛рд╣рд░рдг рд╡рд╛рдкрд░реВрди)

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

GitOps: рдЖрдгрдЦреА рдПрдХ рдмрдЭрд╡рд░реНрдб рдХрд┐рдВрд╡рд╛ рдСрдЯреЛрдореЗрд╢рдирдордзреАрд▓ рдкреНрд░рдЧрддреА?https://bit.ly/34tRpwZ

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

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