GitOps рдореНрд╣рдгрдЬреЗ рдХрд╛рдп?

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

рдПрдХ рд╡рд░реНрд╖рд╛рдкреВрд░реНрд╡реА рдЖрдореНрд╣реА рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реЗ GitOps рдЪрд╛ рдкрд░рд┐рдЪрдп. рддреЗрд╡реНрд╣рд╛ рдорд╛рдЧреЗ, рдЖрдореНрд╣реА рд╕рд╛рдорд╛рдпрд┐рдХ рдХреЗрд▓реЗ рдХреА Weaveworks рдЯреАрдордиреЗ SaaS рдкреВрд░реНрдгрдкрдгреЗ Kubernetes рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдХрд╕рд╛ рд▓рд╛рдБрдЪ рдХреЗрд▓рд╛ рдЖрдгрд┐ рдХреНрд▓рд╛рдЙрдб рдиреЗрдЯрд┐рд╡реНрд╣ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд рдЙрдкрдпреЛрдЬрд┐рдд, рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдЖрдгрд┐ рджреЗрдЦрд░реЗрдЦ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡реЛрддреНрдХреГрд╖реНрдЯ рдкрджреНрдзрддреАрдВрдЪрд╛ рд╕рдВрдЪ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓рд╛.

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

рдЖрдореНрд╣рд╛рд▓рд╛ рд▓рд╡рдХрд░рдЪ рд╕рдордЬрд▓реЗ рдХреА рдирд╡реАрди рд╡рд░реНрдгрди рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдСрдлрд░:

  1. рдЙрджрд╛рд╣рд░рдгреЗ рдЖрдгрд┐ рдХрдерд╛ рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ;
  2. GitOps рдЪреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реНрдпрд╛рдЦреНрдпрд╛;
  3. рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ рд╕рддрдд рд╡рд┐рддрд░рдгрд╛рд╢реА рддреБрд▓рдирд╛.

рдпрд╛ рд▓реЗрдЦрд╛рдд рдЖрдореНрд╣реА рд╣реЗ рд╕рд░реНрд╡ рд╡рд┐рд╖рдп рдорд╛рдВрдбрдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХреЗрд▓рд╛ рдЖрд╣реЗ. рд╣реЗ GitOps рдЖрдгрд┐ рд╡рд┐рдХрд╛рд╕рдХ рдЖрдгрд┐ CI/CD рджреГрд╖реНрдЯреАрдХреЛрди рдПрдХ рдЕрджреНрдпрддрдирд┐рдд рдкрд░рд┐рдЪрдп рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рдЖрдореНрд╣реА рдкреНрд░рд╛рдореБрдЦреНрдпрд╛рдиреЗ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЛ, рдЬрд░реА рдореЙрдбреЗрд▓ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.

GitOps рд▓рд╛ рднреЗрдЯрд╛

рдЕреЕрд▓рд┐рд╕рдЪреА рдХрд▓реНрдкрдирд╛ рдХрд░рд╛. рддреА рдХреМрдЯреБрдВрдмрд┐рдХ рд╡рд┐рдорд╛ рдЪрд╛рд▓рд╡рддреЗ, рдЬреА рдЕрд╢рд╛ рд▓реЛрдХрд╛рдВрдирд╛ рдЖрд░реЛрдЧреНрдп, рд╡рд╛рд╣рди, рдШрд░ рдЖрдгрд┐ рдкреНрд░рд╡рд╛рд╕ рд╡рд┐рдорд╛ рджреЗрддреЗ рдЬреЗ рд╕реНрд╡рдд: рдХрд░рд╛рд░рд╛рдЪреЗ рдЗрдиреНрд╕ рдЖрдгрд┐ рдЖрдЙрдЯреНрд╕ рд╢реЛрдзрдгреНрдпрд╛рдд рд╡реНрдпрд╕реНрдд рдЖрд╣реЗрдд. рдЕреЕрд▓рд┐рд╕ рдбреЗрдЯрд╛ рд╕рд╛рдпрдВрдЯрд┐рд╕реНрдЯ рдореНрд╣рдгреВрди рдмрдБрдХреЗрдд рдХрд╛рдо рдХрд░рдд рдЕрд╕рддрд╛рдирд╛ рддрд┐рдЪрд╛ рд╡реНрдпрд╡рд╕рд╛рдп рд╕рд╛рдЗрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореНрд╣рдгреВрди рд╕реБрд░реВ рдЭрд╛рд▓рд╛. рдПрдХреЗ рджрд┐рд╡рд╢реА рддрд┐рд▓рд╛ рд╕рдордЬрд▓реЗ рдХреА рддреА рдбреЗрдЯрд╛рдЪреЗ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реАрдкрдгреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╡рд┐рдорд╛ рдкреЕрдХреЗрдЬ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рдЧрдд рд╕рдВрдЧрдгрдХ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╡рд╛рдкрд░реВ рд╢рдХрддреЗ. рдЧреБрдВрддрд╡рдгреВрдХрджрд╛рд░рд╛рдВрдиреА рдкреНрд░рдХрд▓реНрдкрд╛рд╕рд╛рдареА рд╡рд┐рддреНрддрдкреБрд░рд╡рдард╛ рдХреЗрд▓рд╛ рдЖрдгрд┐ рдЖрддрд╛ рддрд┐рдЪреА рдХрдВрдкрдиреА рд╡рд░реНрд╖рд╛рд▓рд╛ $20 рджрд╢рд▓рдХреНрд╖ рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдЙрддреНрдкрдиреНрди рдЖрдгрддреЗ рдЖрдгрд┐ рд╡реЗрдЧрд╛рдиреЗ рд╡рд╛рдврдд рдЖрд╣реЗ. рд╕рдзреНрдпрд╛, рд╡рд┐рд╡рд┐рдз рдкрджрд╛рдВрд╡рд░ 180 рд▓реЛрдХрд╛рдВрдирд╛ рд░реЛрдЬрдЧрд╛рд░ рдЖрд╣реЗ. рдпрд╛рдордзреНрдпреЗ рдПрдХ рддрдВрддреНрд░рдЬреНрдЮрд╛рди рдХрд╛рд░реНрдпрд╕рдВрдШ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ рдЬреЛ рд╡реЗрдмрд╕рд╛рдЗрдЯ, рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЛ, рджреЗрдЦрд░реЗрдЦ рдХрд░рддреЛ рдЖрдгрд┐ рдЧреНрд░рд╛рд╣рдХ рдмреЗрд╕рдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЛ. 60 рд▓реЛрдХрд╛рдВрдЪреНрдпрд╛ рдЯреАрдордЪреЗ рдиреЗрддреГрддреНрд╡ рдХрдВрдкрдиреАрдЪреЗ рддрд╛рдВрддреНрд░рд┐рдХ рд╕рдВрдЪрд╛рд▓рдХ рдмреЙрдм рдХрд░рдд рдЖрд╣реЗрдд.

рдмреЙрдмрдЪреА рдЯреАрдо рдХреНрд▓рд╛рдЙрдбрдордзреНрдпреЗ рдЙрддреНрдкрд╛рджрди рдкреНрд░рдгрд╛рд▓реА рддреИрдирд╛рдд рдХрд░рддреЗ. рдЧреБрдЧрд▓ рдХреНрд▓рд╛рдЙрдбрд╡рд░реАрд▓ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдЪрд╛ рдлрд╛рдпрджрд╛ рдШреЗрдКрди рддреНрдпрд╛рдВрдЪреЗ рдореВрд│ рдЕрдиреБрдкреНрд░рдпреЛрдЧ GKE рд╡рд░ рдЪрд╛рд▓рддрд╛рдд. рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рддреЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдХрд╛рдорд╛рдд рд╡рд┐рд╡рд┐рдз рдбреЗрдЯрд╛ рдЖрдгрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕рд╛рдзрдиреЗ рд╡рд╛рдкрд░рддрд╛рдд.

рдХреМрдЯреБрдВрдмрд┐рдХ рд╡рд┐рдорд╛ рдХрдВрдЯреЗрдирд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реЗрдЯ рдХреЗрд▓реЗ рдирд╛рд╣реА, рдкрд░рдВрддреБ рдбреЙрдХрд░рдЪреНрдпрд╛ рдЙрддреНрд╕рд╛рд╣рд╛рдд рдЕрдбрдХрд▓реЗ. рдХрдВрдкрдиреАрдиреЗ рд▓рд╡рдХрд░рдЪ рд╢реЛрдзреВрди рдХрд╛рдврд▓реЗ рдХреА GKE рдиреЗ рдирд╡реАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪреА рдЪрд╛рдЪрдгреА рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рдХреНрд▓рд╕реНрдЯрд░ рддреИрдирд╛рдд рдХрд░рдгреЗ рд╕реЛрдкреЗ рдХреЗрд▓реЗ рдЖрд╣реЗ. рдХрдВрдЯреЗрдирд░ рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реА рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА CI рдЖрдгрд┐ Quay рд╕рд╛рдареА рдЬреЗрдирдХрд┐рдиреНрд╕ рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ, рдЬреЗрдирдХрд┐рдиреНрд╕рд╕рд╛рдареА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рд╣рд┐рд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛ рдЬреНрдпрд╛рдиреЗ рдирд╡реАрди рдХрдВрдЯреЗрдирд░ рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди GKE рдХрдбреЗ рдврдХрд▓рд▓реЗ.

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

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

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

рдХреМрдЯреБрдВрдмрд┐рдХ рд╡рд┐рдорд╛ GitOps рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддреЗ. рдХрдВрдкрдиреАрдХрдбреЗ рдЖрддрд╛ рдПрдХ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдСрдкрд░реЗрд╢рди рдореЙрдбреЗрд▓ рдЖрд╣реЗ рдЬреЗ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдЖрдгрд┐ рдХреЙрдореНрдмрд╛рдЗрдиреНрд╕рд╢реА рд╕реБрд╕рдВрдЧрдд рдЖрд╣реЗ рдЧрддреА ╤Б╨╛ рд╕реНрдерд┐рд░рддрд╛рдХрд╛рд░рдг рддреЗ:

  • рдХреЛрдгрд╛рд▓рд╛рд╣реА рд╡реЗрдб рди рд▓рд╛рд╡рддрд╛ рд╕рдВрдШрд╛рдЪреА рдЙрддреНрдкрд╛рджрдХрддрд╛ рджреБрдкреНрдкрдЯ рдЭрд╛рд▓реНрдпрд╛рдЪреЗ рдЖрдврд│рд▓реЗ;
  • рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреЗрдгреЗ рдмрдВрдж рдХреЗрд▓реЗ. рддреНрдпрд╛рдРрд╡рдЬреА, рддреЗ рдЖрддрд╛ рдирд╡реАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реВ рд╢рдХрддрд╛рдд рдЖрдгрд┐ рдЕрднрд┐рдпрд╛рдВрддреНрд░рд┐рдХреА рдкрджреНрдзрддреА рд╕реБрдзрд╛рд░реВ рд╢рдХрддрд╛рдд - рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдХреЕрдирд░реА рд░реЛрд▓рдЖрдЙрдЯреНрд╕ рд╕рд╛рджрд░ рдХрд░рдгреЗ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рд╕реБрдзрд╛рд░рдгреЗ;
  • рдЖрдореНрд╣реА рдЙрдкрдпреЛрдЬрди рдкреНрд░рдХреНрд░рд┐рдпреЗрдд рд╕реБрдзрд╛рд░рдгрд╛ рдХреЗрд▓реА рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реВрди рддреА рдХреНрд╡рдЪрд┐рддрдЪ рдЦрдВрдбрд┐рдд рд╣реЛрддреЗ;
  • рдореЕрдиреНрдпреБрдЕрд▓ рд╣рд╕реНрддрдХреНрд╖реЗрдкрд╛рд╢рд┐рд╡рд╛рдп рдЖрдВрд╢рд┐рдХ рдЕрдкрдпрд╢рд╛рдирдВрддрд░ рдЙрдкрдпреЛрдЬрди рдкреБрдирд░реНрд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рд╕рдВрдзреА рдорд┐рд│рд╛рд▓реА;
  • рд╡рд╛рдкрд░рд▓реЗ рдЦрд░реЗрджреА╨╛рд╡рд┐рддрд░рдг рдкреНрд░рдгрд╛рд▓реАрд╡рд░ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╛рд╕. рдЕреЕрд▓рд┐рд╕ рдЖрдгрд┐ рдмреЙрдм рдпрд╛рдВрдиреА рд╢реЛрдзреВрди рдХрд╛рдврд▓реЗ рдХреА рддреЗ рд╕рдорд╛рдВрддрд░рдкрдгреЗ рдХрд╛рд░реНрдпрд░рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕ рд╕рдВрдШрд╛рдВрдордзреНрдпреЗ рд╕рдВрдШрд╛рдЪреЗ рд╡рд┐рднрд╛рдЬрди рдХрд░реВ рд╢рдХрддрд╛рдд;
  • рдкреНрд░рддреНрдпреЗрдХ рдЧрдЯрд╛рдЪреНрдпрд╛ рдкреНрд░рдпрддреНрдирд╛рддреВрди рдкреНрд░рдХрд▓реНрдкрд╛рдд рджрд░рд░реЛрдЬ 30-50 рдмрджрд▓ рдХрд░реВ рд╢рдХрддрд╛рдд рдЖрдгрд┐ рдирд╡реАрди рддрдВрддреНрд░реЗ рд╡рд╛рдкрд░реВрди рдкрд╛рд╣реВ рд╢рдХрддрд╛рдд;
  • рдирд╡реАрди рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдирд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдХрдбреЗ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдгреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ, рдЬреНрдпрд╛рдВрдирд╛ рдХрд╛рд╣реА рддрд╛рд╕рд╛рдВрдд рдкреБрд▓ рд╡рд┐рдирдВрддреНрдпрд╛ рд╡рд╛рдкрд░реВрди рдЙрддреНрдкрд╛рджрдирд╛рд╕рд╛рдареА рдЕрджреНрдпрддрдиреЗ рдЖрдгрдгреНрдпрд╛рдЪреА рд╕рдВрдзреА рдЖрд╣реЗ;
  • SOC2 рдЪреНрдпрд╛ рдЪреМрдХрдЯреАрдд рд╕рд╣рдЬрдкрдгреЗ рдСрдбрд┐рдЯ рдкрд╛рд╕ рдХрд░рд╛ (рд╕реБрд░рдХреНрд╖рд┐рдд рдбреЗрдЯрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирд╛рдЪреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдВрд╕рд╣ рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЕрдиреБрдкрд╛рд▓рдирд╛рд╕рд╛рдареА; рдЕрдзрд┐рдХ рд╡рд╛рдЪрд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдпреЗрдереЗ - рдЕрдВрджрд╛рдЬреЗ рдЕрдиреБрд╡рд╛рдж.).

рдХрд╛рдп рдЭрд╛рд▓рдВ?

GitOps рджреЛрди рдЧреЛрд╖реНрдЯреА рдЖрд╣реЗрдд:

  1. рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдЖрдгрд┐ рдХреНрд▓рд╛рдЙрдб рдиреЗрдЯрд┐рд╡реНрд╣рд╕рд╛рдареА рдСрдкрд░реЗрд╢рдирд▓ рдореЙрдбреЗрд▓. рд╣реЗ рдХрдВрдЯреЗрдирд░рд╛рдЗрдЬреНрдб рдХреНрд▓рд╕реНрдЯрд░реНрд╕ рдЖрдгрд┐ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рддреИрдирд╛рдд, рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдЖрдгрд┐ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡реЛрддреНрддрдо рдкрджреНрдзрддреАрдВрдЪрд╛ рдПрдХ рд╕рдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рд╕реНрд╡рд░реВрдкрд╛рдд рд╢реЛрднрд┐рд╡рдВрдд рд╡реНрдпрд╛рдЦреНрдпрд╛ рдПрдХ рд╕реНрд▓рд╛рдЗрдб рдкрд╛рд╕реВрди рд▓реБрдИрд╕ рдлреЗрд╕рд┐рд░рд╛:
  2. рд╡рд┐рдХрд╛рд╕рдХ-рдХреЗрдВрджреНрд░рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рд╡рд╛рддрд╛рд╡рд░рдг рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдорд╛рд░реНрдЧ. рдЖрдореНрд╣реА Git рд╡рд░реНрдХрдлреНрд▓реЛ рдСрдкрд░реЗрд╢рдиреНрд╕ рдЖрдгрд┐ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯрд╕рд╛рдареА рд▓рд╛рдЧреВ рдХрд░рддреЛ. рдХреГрдкрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдШреНрдпрд╛ рдХреА рд╣реЗ рдлрдХреНрдд Git рдкреБрд╢ рдмрджреНрджрд▓ рдирд╛рд╣реА рддрд░ CI/CD рдЖрдгрд┐ UI/UX рдЯреВрд▓реНрд╕рдЪрд╛ рд╕рдВрдкреВрд░реНрдг рд╕рдВрдЪ рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рдмрджреНрджрд▓ рдЖрд╣реЗ.

Git рдмрджреНрджрд▓ рдХрд╛рд╣реА рд╢рдмреНрдж

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

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

рдЖрдордЪреНрдпрд╛ рдХрдереЗрдд, рдЕреЕрд▓рд┐рд╕ рдЖрдгрд┐ рдмреЙрдм рдХрд╛рд╣реА рдХрд╛рд│ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд╕реЛрдмрдд рдХрд╛рдо рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рдЧрд┐рдЯрдСрдкреНрд╕рдХрдбреЗ рд╡рд│рд▓реЗ. рдЦрд░рдВрдЪ, GitOps рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд╢реА рдЬрд╡рд│реВрди рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ - рд╣реЗ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдЖрдгрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрд╕рд╛рдареА рдПрдХ рдСрдкрд░реЗрд╢рдирд▓ рдореЙрдбреЗрд▓ рдЖрд╣реЗ.

Kubernetes рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рдХрд╛рдп рджреЗрддреЗ?

рдпреЗрдереЗ рдХрд╛рд╣реА рдореБрдЦреНрдп рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЖрд╣реЗрдд:

  1. рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдореЙрдбреЗрд▓рдордзреНрдпреЗ, рд╕рд░реНрд╡рдХрд╛рд╣реА рдШреЛрд╖рдгрд╛рддреНрдордХ рд╕реНрд╡рд░реВрдкрд╛рдд рд╡рд░реНрдгрди рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.
  2. Kubernetes API рд╕рд░реНрд╡реНрд╣рд░ рд╣реА рдШреЛрд╖рдгрд╛ рдЗрдирдкреБрдЯ рдореНрд╣рдгреВрди рдШреЗрддреЛ рдЖрдгрд┐ рдирдВрддрд░ рдШреЛрд╖рдгрд╛рдордзреНрдпреЗ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕реНрдерд┐рддреАрдд рдХреНрд▓рд╕реНрдЯрд░ рдЖрдгрдгреНрдпрд╛рдЪрд╛ рд╕рддрдд рдкреНрд░рдпрддреНрди рдХрд░рддреЛ.
  3. рд╡рд┐рд╡рд┐рдз рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рд╡рд░реНрдХрд▓реЛрдбрдЪреЗ рд╡рд░реНрдгрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдШреЛрд╖рдгрд╛ рдкреБрд░реЗрд╢рд╛ рдЖрд╣реЗрддтАФтАЬрдЕрдиреБрдкреНрд░рдпреЛрдЧтАЭ.
  4. рдкрд░рд┐рдгрд╛рдореА, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЖрдгрд┐ рдХреНрд▓рд╕реНрдЯрд░рдордзреАрд▓ рдмрджрд▓ рдпрд╛рдореБрд│реЗ рд╣реЛрддрд╛рдд:
    • рдХрдВрдЯреЗрдирд░ рдкреНрд░рддрд┐рдорд╛рдВрдордзреНрдпреЗ рдмрджрд▓;
    • рдШреЛрд╖рдгрд╛рддреНрдордХ рддрдкрд╢реАрд▓рд╛рдд рдмрджрд▓;
    • рд╡рд╛рддрд╛рд╡рд░рдгрд╛рддреАрд▓ рддреНрд░реБрдЯреА - рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдХрдВрдЯреЗрдирд░ рдХреНрд░реЕрд╢.

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдЪреА рдорд╣рд╛рди рдЕрднрд┐рд╕рд░рдг рдХреНрд╖рдорддрд╛

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

  • рдСрдЯреЛрдореЗрд╢рди: Kubernetes рдЕрджреНрдпрддрдиреЗ рдХреГрдкрд╛рдкреВрд░реНрд╡рдХ рдЖрдгрд┐ рд╡реЗрд│реЗрд╡рд░ рдмрджрд▓ рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдпрдВрддреНрд░рдгрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛рдд.
  • рдЕрднрд┐рд╕рд░рдг: Kubernetes рдпрд╢рд╕реНрд╡реА рд╣реЛрдИрдкрд░реНрдпрдВрдд рдЕрдкрдбреЗрдЯреНрд╕рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рдд рд░рд╛рд╣рддреАрд▓.
  • рдирд┐рд░реНрдмреБрджреНрдзрддрд╛: рдЕрднрд┐рд╕рд░рдгрд╛рдЪреЗ рд╡рд╛рд░рдВрд╡рд╛рд░ рдЕрд░реНрдЬ рдХреЗрд▓реНрдпрд╛рдиреЗ рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рд╣реЛрддреЛ.
  • рдирд┐рд░реНрдзрд╛рд░рд╡рд╛рдж: рд╕рдВрд╕рд╛рдзрдиреЗ рдкреБрд░реЗрд╢реА рдЕрд╕рддрд╛рдирд╛, рдЕрджреНрдпрддрдирд┐рдд рдХреНрд▓рд╕реНрдЯрд░рдЪреА рд╕реНрдерд┐рддреА рдХреЗрд╡рд│ рдЗрдЪреНрдЫрд┐рдд рд╕реНрдерд┐рддреАрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ.

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

GitOps рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА Kubernetes рдмрджреНрджрд▓ рдкреБрд░реЗрд╕реЗ рд╢рд┐рдХрд▓реЛ рдЖрд╣реЛрдд.

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

рдореБрдЦреНрдп рдЧреЛрд╖реНрдЯ рдЕрд╢реА рдЖрд╣реЗ рдХреА рдЖрдореНрд╣реА рдкрд╛рд╣рддреЛ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдЕрдкрдбреЗрдЯ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓реНрд╕ рдЖрдгрд┐ Git рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдЬрдордзреАрд▓ рдмрджрд▓рд╛рдВрд╕рд╣ рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ. Git рдордзреАрд▓ рд╣реЗ рдмрджрд▓ "GitOps рдСрдкрд░реЗрдЯрд░" рд▓рд╛ рдХреНрд▓рд╕реНрдЯрд░ рдЕрдкрдбреЗрдЯ рдХрд░рдгреНрдпрд╛рд╕ рдХрд╛рд░рдгреАрднреВрдд рдард░рддрд╛рдд:

1. рдХрд╛рд░реНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛: "рдЬреЗрдирдХрд┐рдиреНрд╕ рдмрд┐рд▓реНрдб - рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛┬╗.
рдХрд╛рд░реНрдп рд╕реВрдЪреА:

  • рдЬреЗрдирдХрд┐рдиреНрд╕рдиреЗ рдЯреЕрдЧ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддрд┐рдорд╛ рдХреНрд╡реЗрдХрдбреЗ рдврдХрд▓рд▓реНрдпрд╛;
  • рдЬреЗрдирдХрд┐рдиреНрд╕ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЖрдгрд┐ рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ рдорд╛рд╕реНрдЯрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдмрдХреЗрдЯрдордзреНрдпреЗ рдврдХрд▓рддреЛ;
  • рдХреНрд▓рд╛рдЙрдб рдлрдВрдХреНрд╢рди рдорд╛рд╕реНрдЯрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдмрдХреЗрдЯрдордзреВрди рдорд╛рд╕реНрдЯрд░ рдЧрд┐рдЯ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЖрдгрд┐ рдЪрд╛рд░реНрдЯ рдХреЙрдкреА рдХрд░рддреЗ;
  • GitOps рдСрдкрд░реЗрдЯрд░ рдХреНрд▓рд╕реНрдЯрд░ рдЕрдкрдбреЗрдЯ рдХрд░рддреЛ.

2. рдЬреЗрдирдХрд┐рдиреНрд╕ рдмрд┐рд▓реНрдб - рд░рд┐рд▓реАрдЬ рдХрд┐рдВрд╡рд╛ рд╣реЙрдЯрдлрд┐рдХреНрд╕ рд╢рд╛рдЦрд╛:

  • рдЬреЗрдирдХрд┐рдиреНрд╕рдиреЗ рдЯреЕрдЧ рди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддрд┐рдорд╛ рдХреНрд╡реЗрдХрдбреЗ рдврдХрд▓рд▓реНрдпрд╛;
  • рдЬреЗрдирдХрд┐рдиреНрд╕ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЖрдгрд┐ рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рд╕реНрдЯреЛрд░реЗрдЬ рдмрдХреЗрдЯрдордзреНрдпреЗ рдврдХрд▓рддреЛ;
  • рдХреНрд▓рд╛рдЙрдб рдлрдВрдХреНрд╢рди рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рд╕реНрдЯреЛрд░реЗрдЬ рдмрдХреЗрдЯрдкрд╛рд╕реВрди рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рдЧрд┐рдЯ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЖрдгрд┐ рдЪрд╛рд░реНрдЯ рдХреЙрдкреА рдХрд░рддреЗ;
  • GitOps рдСрдкрд░реЗрдЯрд░ рдХреНрд▓рд╕реНрдЯрд░ рдЕрдкрдбреЗрдЯ рдХрд░рддреЛ.

3. рдЬреЗрдирдХрд┐рдиреНрд╕ рдмрд┐рд▓реНрдб - рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдВрд╡рд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рд╢рд╛рдЦрд╛:

  • рдЬреЗрдирдХрд┐рдиреНрд╕рдиреЗ рдЯреЕрдЧ рди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддрд┐рдорд╛ рдХреНрд╡реЗрдХрдбреЗ рдврдХрд▓рд▓реНрдпрд╛;
  • рдЬреЗрдирдХрд┐рдиреНрд╕ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЖрдгрд┐ рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ рдбреЗрд╡реНрд╣рд▓рдк рд╕реНрдЯреЛрд░реЗрдЬ рдмрдХреЗрдЯрдордзреНрдпреЗ рдврдХрд▓рддреЛ;
  • рдХреНрд▓рд╛рдЙрдб рдлрдВрдХреНрд╢рди рдбреЗрд╡реНрд╣рд▓рдк рд╕реНрдЯреЛрд░реЗрдЬ рдмрдХреЗрдЯрдкрд╛рд╕реВрди рдбреЗрд╡реНрд╣рд▓рдк рдЧрд┐рдЯ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЖрдгрд┐ рдЪрд╛рд░реНрдЯ рдХреЙрдкреА рдХрд░рддреЗ;
  • GitOps рдСрдкрд░реЗрдЯрд░ рдХреНрд▓рд╕реНрдЯрд░ рдЕрдкрдбреЗрдЯ рдХрд░рддреЛ.

4. рдирд╡реАрди рдХреНрд▓рд╛рдпрдВрдЯ рдЬреЛрдбрдд рдЖрд╣реЗ:

  • рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХрд┐рдВрд╡рд╛ рдкреНрд░рд╢рд╛рд╕рдХ (LCM/ops) рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рдиреЗрдЯрд╡рд░реНрдХ рд▓реЛрдб рдмреЕрд▓рдиреНрд╕рд░реНрд╕ (NLBs) рддреИрдирд╛рдд рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА Gradle рд▓рд╛ рдХреЙрд▓ рдХрд░рддрд╛рдд;
  • LCM/ops рдЕрджреНрдпрддрдирд╛рдВрд╕рд╛рдареА рдЙрдкрдпреЛрдЬрди рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдирд╡реАрди рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдХрдорд┐рдЯ рдХрд░рддреЗ;
  • GitOps рдСрдкрд░реЗрдЯрд░ рдХреНрд▓рд╕реНрдЯрд░ рдЕрдкрдбреЗрдЯ рдХрд░рддреЛ.

GitOps рдЪреЗ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд░реНрдгрди

  1. рдкреНрд░рддреНрдпреЗрдХ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рд╕рд╛рдареА рдШреЛрд╖рдгрд╛рддреНрдордХ рддрдкрд╢реАрд▓ рд╡рд╛рдкрд░реВрди рд╕рдВрдкреВрд░реНрдг рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рдЗрдЪреНрдЫрд┐рдд рд╕реНрдерд┐рддреАрдЪреЗ рд╡рд░реНрдгрди рдХрд░рд╛ (рдЖрдордЪреНрдпрд╛ рдХрдереЗрдордзреНрдпреЗ, рдмреЙрдмрдЪреА рдЯреАрдо Git рдордзреНрдпреЗ рд╕рдВрдкреВрд░реНрдг рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ).
    • Git рд░рд┐рдкреЙрдЭрд┐рдЯрд░реА рд╕рдВрдкреВрд░реНрдг рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рдЗрдЪреНрдЫрд┐рдд рд╕реНрдерд┐рддреАрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╕рддреНрдпрд╛рдЪрд╛ рдПрдХрдореЗрд╡ рд╕реНрддреНрд░реЛрдд рдЖрд╣реЗ.
    • рдЗрдЪреНрдЫрд┐рдд рд╕реНрдерд┐рддреАрддреАрд▓ рд╕рд░реНрд╡ рдмрджрд▓ рдЧрд┐рдЯрдордзреАрд▓ рдХрдорд┐рдЯрджреНрд╡рд╛рд░реЗ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд.
    • рд╕рд░реНрд╡ рдЗрдЪреНрдЫрд┐рдд рдХреНрд▓рд╕реНрдЯрд░ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рджреЗрдЦреАрд▓ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗрдЪ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдЖрд╣реЗрдд. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рддреЗ рдПрдХрд░реВрдк рд╣реЛрддрд╛рдд рдХреА рдирд╛рд╣реА рд╣реЗ рдЖрдкрдг рдард░рд╡реВ рд╢рдХрддреЛ (рдПрдХрддреНрд░рд┐рдд, рдПрдХрддреНрд░ рдХрд░рдгреЗ) рдХрд┐рдВрд╡рд╛ рднрд┐рдиреНрди (рднрд┐рдиреНрди, рд╡рд│рд╡рдгреЗ) рдЗрдЪреНрдЫрд┐рдд рдЖрдгрд┐ рдирд┐рд░реАрдХреНрд╖рдг рдЕрд╡рд╕реНрдерд╛.
  2. рдЗрдЪреНрдЫрд┐рдд рдЖрдгрд┐ рдирд┐рд░реАрдХреНрд╖рдг рдЕрд╡рд╕реНрдерд╛ рднрд┐рдиреНрди рдЕрд╕рд▓реНрдпрд╛рд╕, рдирдВрддрд░:
    • рдПрдХ рдЕрднрд┐рд╕рд░рдг рдпрдВрддреНрд░рдгрд╛ рдЖрд╣реЗ рдЬреА рд▓рд╡рдХрд░ рдХрд┐рдВрд╡рд╛ рдирдВрддрд░ рдЖрдкреЛрдЖрдк рд▓рдХреНрд╖реНрдп рдЖрдгрд┐ рдирд┐рд░реАрдХреНрд╖рдг рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЕрд╡рд╕реНрдерд╛рдВрдирд╛ рд╕рдордХреНрд░рдорд┐рдд рдХрд░рддреЗ. рдХреНрд▓рд╕реНрдЯрд░рдЪреНрдпрд╛ рдЖрдд, рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╣реЗ рдХрд░рддрд╛рдд.
    • рдкреНрд░рдХреНрд░рд┐рдпрд╛ "рдмрджрд▓ рдкреНрд░рддрд┐рдмрджреНрдз" рд╕реВрдЪрдиреЗрд╕рд╣ рд▓рдЧреЗрдЪ рд╕реБрд░реВ рд╣реЛрддреЗ.
    • рдХрд╛рд╣реА рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдХрд╛рд▓рд╛рд╡рдзреАрдирдВрддрд░, рдЬрд░ рд░рд╛рдЬреНрдпреЗ рднрд┐рдиреНрди рдЕрд╕рддреАрд▓ рддрд░ "рднрд┐рдиреНрди" рдЗрд╢рд╛рд░рд╛ рдкрд╛рдард╡рд┐рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.
  3. рдЕрд╢рд╛рдкреНрд░рдХрд╛рд░реЗ, Git рдордзреАрд▓ рд╕рд░реНрд╡ рдХрдорд┐рдЯ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдкрдбрддрд╛рд│рдгреА рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдЖрдгрд┐ рдЕрджрдореНрдп рдЕрджреНрдпрддрдирд╛рдВрдирд╛ рдХрд╛рд░рдгреАрднреВрдд рдард░рддрд╛рдд.
    • рд░реЛрд▓рдмреЕрдХ рдореНрд╣рдгрдЬреЗ рдкреВрд░реНрд╡реА рдЗрдЪреНрдЫрд┐рдд рд╕реНрдерд┐рддреАрдд рдЕрднрд┐рд╕рд░рдг.
  4. рдЕрднрд┐рд╕рд░рдг рдЕрдВрддрд┐рдо рдЖрд╣реЗ. рддреНрдпрд╛рдЪреА рдШрдЯрдирд╛ рдпрд╛рджреНрд╡рд╛рд░реЗ рджрд░реНрд╢рд╡рд┐рд▓реА рдЬрд╛рддреЗ:
    • рдард░рд╛рд╡рд┐рдХ рдХрд╛рд▓рд╛рд╡рдзреАрд╕рд╛рдареА рдХреЛрдгрддреЗрд╣реА рднрд┐рдиреНрди рдЕрд▓рд░реНрдЯ рдирд╛рд╣реАрдд.
    • "рдХрдиреНрд╡реНрд╣рд░реНрдЬреНрдб" рдЕрд▓рд░реНрдЯ (рдЙрджрд╛. рд╡реЗрдмрд╣реБрдХ, рдЧрд┐рдЯ рд░рд╛рдЗрдЯрдмреЕрдХ рдЗрд╡реНрд╣реЗрдВрдЯ).

рд╡рд┐рдЪрд▓рди рдореНрд╣рдгрдЬреЗ рдХрд╛рдп?

рдЪрд▓рд╛ рдкреБрдиреНрд╣рд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдХрд░реВрдпрд╛: рд╕рд░реНрд╡ рдЗрдЪреНрдЫрд┐рдд рдХреНрд▓рд╕реНрдЯрд░ рдЧреБрдгрдзрд░реНрдо рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗрдЪ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рднрд┐рдиреНрдирддреЗрдЪреА рдХрд╛рд╣реА рдЙрджрд╛рд╣рд░рдгреЗ:

  • Git рдордзреНрдпреЗ рд╢рд╛рдЦрд╛ рд╡рд┐рд▓реАрди рдЭрд╛рд▓реНрдпрд╛рдореБрд│реЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдмрджрд▓.
  • GUI рдХреНрд▓рд╛рдпрдВрдЯрдиреЗ рдХреЗрд▓реЗрд▓реНрдпрд╛ Git рдХрдорд┐рдЯрдореБрд│реЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдмрджрд▓.
  • Git рдордзреАрд▓ PR рдореБрд│реЗ рдЗрдЪреНрдЫрд┐рдд рд╕реНрдерд┐рддреАрдд рдЕрдиреЗрдХ рдмрджрд▓ рдЖрдгрд┐ рддреНрдпрд╛рдирдВрддрд░ рдХрдВрдЯреЗрдирд░ рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдмрджрд▓.
  • рддреНрд░реБрдЯреАрдореБрд│реЗ рдХреНрд▓рд╕реНрдЯрд░рдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрдд рдмрджрд▓, "рдЦрд░рд╛рдм рд╡рд░реНрддрди" рдХрд┐рдВрд╡рд╛ рдореВрд│ рд╕реНрдерд┐рддреАрдкрд╛рд╕реВрди рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╡рд┐рдЪрд▓рдирд╛рдореБрд│реЗ рд╕реНрддреНрд░реЛрдд рд╕рдВрдШрд░реНрд╖.

рдЕрднрд┐рд╕рд░рдгрд╛рдЪреА рдпрдВрддреНрд░рдгрд╛ рдХрд╛рдп рдЖрд╣реЗ?

рдХрд╛рд╣реА рдЙрджрд╛рд╣рд░рдгреЗрдГ

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

GitOps рд╢реЛрд╖рдгрд╛рд╕рд╛рдареА рдПрдХ рдореЙрдбреЗрд▓ рдкреНрд░рджрд╛рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА Git рд▓рд╛ Kubernetes рдЪреНрдпрд╛ рдЙрддреНрдХреГрд╖реНрдЯ рдЕрднрд┐рд╕рд░рдг рдЗрдВрдЬрд┐рдирд╕рд╣ рдПрдХрддреНрд░ рдХрд░рддреЗ.

GitOps рдЖрдореНрд╣рд╛рд▓рд╛ рдЕрд╕реЗ рдореНрд╣рдгрдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ: рдХреЗрд╡рд│ рддреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реАрдВрдЪреЗ рд╡рд░реНрдгрди рдЖрдгрд┐ рдирд┐рд░реАрдХреНрд╖рдг рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рдЬреНрдпрд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдЖрдгрд┐ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд.

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

GitOps рдлрдХреНрдд рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдирд╛рд╣реА. рд╕рдВрдкреВрд░реНрдг рдкреНрд░рдгрд╛рд▓реА рдШреЛрд╖рдгрд╛рддреНрдордХрдкрдгреЗ рдЪрд╛рд▓рд╡рд┐рд▓реА рдЬрд╛рд╡реА рдЖрдгрд┐ рдЕрднрд┐рд╕рд░рдг рд╡рд╛рдкрд░рд╛рд╡реЗ рдЕрд╢реА рдЖрдордЪреА рдЗрдЪреНрдЫрд╛ рдЖрд╣реЗ. рд╕рдВрдкреВрд░реНрдг рдкреНрд░рдгрд╛рд▓реАрджреНрд╡рд╛рд░реЗ рдЖрдордЪрд╛ рдЕрд░реНрде рдХреБрдмрд░рдиреЗрдЯрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдЪрд╛ рд╕рдВрдЧреНрд░рд╣ рдЖрд╣реЗ - рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, тАЬрдбреЗрд╡реНрд╣ рдХреНрд▓рд╕реНрдЯрд░ 1тАЭ, тАЬрдЙрддреНрдкрд╛рджрдитАЭ рдЗ. рдкреНрд░рддреНрдпреЗрдХ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд рдорд╢реАрдиреНрд╕, рдХреНрд▓рд╕реНрдЯрд░реНрд╕, рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕, рддрд╕реЗрдЪ рдбреЗрдЯрд╛, рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдкреНрд░рджрд╛рди рдХрд░рдгрд╛рд▒реНрдпрд╛ рдмрд╛рд╣реНрдп рд╕реЗрд╡рд╛рдВрд╕рд╛рдареА рдЗрдВрдЯрд░рдлреЗрд╕ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЕрд╕рддрд╛рдд. рдЖрдгрд┐ рдЗ.

рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд рдмреВрдЯрд╕реНрдЯреНрд░реЕрдкрд┐рдВрдЧ рд╕рдорд╕реНрдпреЗрд╕рд╛рдареА рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХрд┐рддреА рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ рддреЗ рдкрд╣рд╛. Kubernetes рдХреБрдареЗрддрд░реА рддреИрдирд╛рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдЖрдгрд┐ Terraform рд╡рд╛рдкрд░рдгреЗ рдореНрд╣рдгрдЬреЗ Kubernetes рдЖрдгрд┐ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рд▓рд╛ рдЕрдВрдбрд░рдкрд┐рди рдХрд░рдгрд╛рд░реЗ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрддрд░ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рд╕рдорд╛рди GitOps рд╡рд░реНрдХрдлреНрд▓реЛ рд▓рд╛рдЧреВ рдХрд░реВ рд╢рдХрддреЛ. рд╣реА рдПрдХ рдЙрдкрдпреБрдХреНрдд рд╕рд░реНрд╡реЛрддреНрддрдо рд╕рд░рд╛рд╡ рдЖрд╣реЗ.

Kubernetes рдЪреНрдпрд╛ рд╡рд░рдЪреНрдпрд╛ рд╕реНрддрд░рд╛рдВрд╡рд░ GitOps рд╕рдВрдХрд▓реНрдкрдирд╛ рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рд╡рд░ рдЬреЛрд░рджрд╛рд░ рдлреЛрдХрд╕ рдЖрд╣реЗ. рдпрд╛рдХреНрд╖рдгреА, Istio, Helm, Ksonnet, OpenFaaS рдЖрдгрд┐ Kubeflow рд╕рд╛рдареА GitOps-рдкреНрд░рдХрд╛рд░рдЪреЗ рдЙрдкрд╛рдп рдЖрд╣реЗрдд, рддрд╕реЗрдЪ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, Pulumi рд╕рд╛рдареА, рдЬреЗ рдХреНрд▓рд╛рдЙрдб рдиреЗрдЯрд┐рд╡реНрд╣рд╕рд╛рдареА рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рд╕реНрддрд░ рддрдпрд╛рд░ рдХрд░рддрд╛рдд.

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ CI/CD: GitOps рдЪреА рдЗрддрд░ рдкрджреНрдзрддреАрдВрд╢реА рддреБрд▓рдирд╛ рдХрд░рдгреЗ

рдореНрд╣рдЯрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, GitOps рджреЛрди рдЧреЛрд╖реНрдЯреА рдЖрд╣реЗрдд:

  1. рд╡рд░ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реЗ Kubernetes рдЖрдгрд┐ рдХреНрд▓рд╛рдЙрдб рдиреЗрдЯрд┐рд╡реНрд╣ рд╕рд╛рдареА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЙрдбреЗрд▓.
  2. рд╡рд┐рдХрд╛рд╕рдХ-рдХреЗрдВрджреНрд░рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдЪрд╛ рдорд╛рд░реНрдЧ.

рдЕрдиреЗрдХрд╛рдВрд╕рд╛рдареА, GitOps рд╣реЗ рдкреНрд░рд╛рдореБрдЦреНрдпрд╛рдиреЗ Git pushes рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╡рд░реНрдХрдлреНрд▓реЛ рдЖрд╣реЗ. рдЖрдореНрд╣рд╛рд▓рд╛рд╣реА рддреЛ рдЖрд╡рдбрддреЛ. рдкрдг рдПрд╡рдвреЗрдЪ рдирд╛рд╣реА: рдЖрддрд╛ CI/CD рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдкрд╛рд╣реВ.

GitOps Kubernetes рд╕рд╛рдареА рд╕рддрдд рдЙрдкрдпреЛрдЬрди (CD) рд╕рдХреНрд╖рдо рдХрд░рддреЗ

GitOps рдПрдХ рд╕рддрдд рдЙрдкрдпреЛрдЬрди рдпрдВрддреНрд░рдгрд╛ рдСрдлрд░ рдХрд░рддреЗ рдЬреА рд╕реНрд╡рддрдВрддреНрд░ "рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рдореЕрдиреЗрдЬрдореЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо" рдЪреА рдЧрд░рдЬ рджреВрд░ рдХрд░рддреЗ. Kubernetes рддреБрдордЪреНрдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡ рдХрд╛рдо рдХрд░рддреЗ.

  • рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрджреНрдпрддрдирд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА Git рдордзреНрдпреЗ рдЕрджреНрдпрддрдирд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╣реЗ рдЗрдЪреНрдЫрд┐рдд рд╕реНрдерд┐рддреАрд╕рд╛рдареА рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрджреНрдпрддрди рдЖрд╣реЗ. "рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ" рдирдВрддрд░ рдЕрджреНрдпрдпрд╛рд╡рдд рд╡рд░реНрдгрдирд╛рдЪреНрдпрд╛ рдЖрдзрд╛рд░реЗ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рджреНрд╡рд╛рд░реЗ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ.
  • рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд рдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдореБрд│реЗ, рд╣реА рдЕрджреНрдпрддрдиреЗ рдЕрднрд┐рд╕рд░рдг рдЖрд╣реЗрдд. рд╣реЗ рд╕рддрдд рддреИрдирд╛рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдпрдВрддреНрд░рдгрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рдЬреНрдпрд╛рдордзреНрдпреЗ рд╕рд░реНрд╡ рдЕрджреНрдпрддрдиреЗ рдЕрдгреВ рдЕрд╕рддрд╛рдд.
  • рдЯреАрдк: рдореЗрдШ рд╡рд┐рдгрдгреЗ GitOps рдСрдкрд░реЗрдЯрд░ рдСрдлрд░ рдХрд░рддреЛ рдЬреЛ Git рдЖрдгрд┐ Kubernetes рд╕рдорд╛рдХрд▓рд┐рдд рдХрд░рддреЛ рдЖрдгрд┐ рдХреНрд▓рд╕реНрдЯрд░рдЪреНрдпрд╛ рдЗрдЪреНрдЫрд┐рдд рдЖрдгрд┐ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддреАрдЪрд╛ рддрд╛рд│рдореЗрд│ рд╕рд╛рдзреВрди CD рд▓рд╛ рд╕рд╛рджрд░ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ.

kubectl рдЖрдгрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╢рд┐рд╡рд╛рдп

рддреБрдордЪрд╛ рдХреНрд▓рд╕реНрдЯрд░ рдЕрдкрдбреЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА Kubectl рд╡рд╛рдкрд░рдгреЗ рдЯрд╛рд│рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ рдЖрдгрд┐ рд╡рд┐рд╢реЗрд╖рдд: kubectl рдХрдорд╛рдВрдбреНрд╕ рдЧрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╛рдкрд░рдгреЗ рдЯрд╛рд│рд╛рд╡реЗ. рддреНрдпрд╛рдРрд╡рдЬреА, GitOps рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд╕рд╣, рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рддреНрдпрд╛рдВрдЪреЗ Kubernetes рдХреНрд▓рд╕реНрдЯрд░ Git рджреНрд╡рд╛рд░реЗ рдЕрдкрдбреЗрдЯ рдХрд░реВ рд╢рдХрддреЛ.

рдлрд╛рдпрджреНрдпрд╛рдВрдордзреНрдпреЗ рд╣реЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ:

  1. рдмрд░реЛрдмрд░. рдЕрдкрдбреЗрдЯреНрд╕рдЪрд╛ рдПрдХ рдЧрдЯ рд▓рд╛рдЧреВ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ, рдПрдХрддреНрд░ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ рдЖрдгрд┐ рд╢реЗрд╡рдЯреА рдкреНрд░рдорд╛рдгрд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ, рдЬреНрдпрд╛рдореБрд│реЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдЕрдгреВ рддреИрдирд╛рддреАрдЪреНрдпрд╛ рд▓рдХреНрд╖реНрдпрд╛рдЪреНрдпрд╛ рдЬрд╡рд│ рдЖрдгрддрд╛ рдпреЗрддреЗ. рдпрд╛рдЙрд▓рдЯ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╛рдкрд░рдгреЗ рдЕрднрд┐рд╕рд░рдгрд╛рдЪреА рдХреЛрдгрддреАрд╣реА рд╣рдореА рджреЗрдд тАЛтАЛтАЛтАЛрдирд╛рд╣реА (рдпрд╛рд╡рд░ рдЦрд╛рд▓реА рдЕрдзрд┐рдХ).
  2. рд╕реБрд░рдХреНрд╖рд╛. рдЙрджреНрдзреГрдд Kelsey Hightower: "рддреБрдордЪреНрдпрд╛ Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдЪрд╛ рдкреНрд░рд╡реЗрд╢ рдСрдЯреЛрдореЗрд╢рди рдЯреВрд▓реНрд╕ рдЖрдгрд┐ рдкреНрд░рд╢рд╛рд╕рдХрд╛рдВрд╕рд╛рдареА рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рд╛ рдЬреЗ рддреЗ рдбреАрдмрдЧрд┐рдВрдЧ рдХрд┐рдВрд╡рд╛ рджреЗрдЦрд░реЗрдЦреАрд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЖрд╣реЗрдд." рджреЗрдЦреАрд▓ рдкрд╣рд╛ рдорд╛рдЭреЗ рдкреНрд░рдХрд╛рд╢рди рд╕реБрд░рдХреНрд╖рд╛ рдЖрдгрд┐ рддрд╛рдВрддреНрд░рд┐рдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪреЗ рдкрд╛рд▓рди рдХрд░рдгреНрдпрд╛рдмрджреНрджрд▓, рддрд╕реЗрдЪ Homebrew рд╣реЕрдХрд┐рдВрдЧ рдмрджреНрджрд▓ рд▓реЗрдЦ рдирд┐рд╖реНрдХрд╛рд│рдЬреАрдкрдгреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реНрдпрд╛ рдЬреЗрдирдХрд┐рдиреНрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреВрди рдХреНрд░реЗрдбреЗрдиреНрд╢рд┐рдпрд▓реНрд╕ рдЪреЛрд░реВрди.
  3. рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЕрдиреБрднрд╡. рдХреБрдмреЗрдХреНрдЯрд▓ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбреЗрд▓рдЪреЗ рдпрд╛рдВрддреНрд░рд┐рдХреА рдЙрдШрдб рдХрд░рддреЗ, рдЬреЗ рдЦреВрдкрдЪ рдЧреБрдВрддрд╛рдЧреБрдВрддреАрдЪреЗ рдЖрд╣реЗ. рддрджреНрд╡рддрдЪ, рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдиреА рдЕрдореВрд░реНрддрддреЗрдЪреНрдпрд╛ рдЙрдЪреНрдЪ рд╕реНрддрд░рд╛рд╡рд░ рд╕рд┐рд╕реНрдЯрдорд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ. рдпреЗрдереЗ рдореА рдкреБрдиреНрд╣рд╛ рдХреЗрд▓реНрд╕реАрдЪрд╛ рд╕рдВрджрд░реНрдн рдШреЗрдИрди рдЖрдгрд┐ рдкрд╛рд╣рдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХрд░реЗрди рдЕрд╕рд╛ рд░реЗрдЭреНрдпреБрдореЗ.

рд╕реАрдЖрдп рдЖрдгрд┐ рд╕реАрдбреА рдордзреАрд▓ рдлрд░рдХ

GitOps рд╡рд┐рджреНрдпрдорд╛рди CI/CD рдореЙрдбреЗрд▓ рд╕реБрдзрд╛рд░рддреЗ.

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

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

рд╕реАрдЖрдп рд╕рд░реНрд╡реНрд╣рд░рдиреЗ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреАрд▓ рдбрд╛рдпрд░реЗрдХреНрдЯ рдЕрдкрдбреЗрдЯреНрд╕рджреНрд╡рд╛рд░реЗ рд╕реАрдбреА рдХрд╛ рдХрд░реВ рдирдпреЗ

CI рдЬреЙрдмреНрд╕рдЪрд╛ рд╕рдВрдЪ рдореНрд╣рдгреВрди рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд╡рд░ рдереЗрдЯ рдЕрдкрдбреЗрдЯреНрд╕ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА CI рд╕рд░реНрд╡реНрд╣рд░ рд╡рд╛рдкрд░реВ рдирдХрд╛. рд╣реЗ рдЖрдореНрд╣реА рдмреЛрд▓рдд рдЖрд╣реЛрдд рд╡рд┐рд░реЛрдзреА рдирдореБрдирд╛ рдЖрд╣реЗ рдЖрдзреАрдЪ рд╕рд╛рдВрдЧрд┐рддрд▓реЗ рддреБрдордЪреНрдпрд╛ рдмреНрд▓реЙрдЧрд╡рд░.

рдЪрд▓рд╛ рдЕреЕрд▓рд┐рд╕ рдЖрдгрд┐ рдмреЙрдмрдХрдбреЗ рдкрд░рдд рдЬрд╛рдКрдпрд╛.

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

рд╕рдордЬреВ рдпрд╛ рдХреА рдмреЙрдмрдЪреНрдпрд╛ рдЯреАрдордиреЗ рдПрдХ рдирд╡реАрди рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХреЗрд▓реА рдЖрдгрд┐ рдирдВрддрд░ рдкреНрд░рддрд┐рдорд╛ рдЙрдкрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреНрдпрд╛рдВрдЪреА рддреИрдирд╛рддреА рдкреЕрдЪ рдХреЗрд▓реА (рд╕рд░реНрд╡ CI рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд╡рд░реВрди).

рдкреНрд░рддрд┐рдорд╛ рд╕рд╛рдорд╛рдиреНрдпрдкрдгреЗ рддрдпрд╛рд░ рд╣реЛрдд рдЕрд╕рд▓реНрдпрд╛рд╕, рдкрд░рдВрддреБ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЕрдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реНрдпрд╛рд╕, рд╕рдВрдШрд╛рд▓рд╛ рд╣реЗ рд╢реЛрдзреВрди рдХрд╛рдврд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓:

  • рдЕрдкрдбреЗрдЯ рдЖрдгрд▓реЗ рдЖрд╣реЗ рдХрд╛?
  • рдЖрдореНрд╣реА рдирд╡реАрди рдмрд┐рд▓реНрдб рд▓рд╛рдБрдЪ рдХрд░рдд рдЖрд╣реЛрдд? рдпрд╛рдореБрд│реЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯреНрд╕ рд╣реЛрддреАрд▓ рдХрд╛ - рдПрдХрд╛рдЪ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдкреНрд░рддрд┐рдореЗрдЪреНрдпрд╛ рджреЛрди рдмрд┐рд▓реНрдб рдЕрд╕рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдЖрд╣реЗ?
  • рдмрд┐рд▓реНрдб рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдкреВрд░реНрд╡реА рдЖрдореНрд╣реА рдкреБрдвреАрд▓ рдЕрдкрдбреЗрдЯрдЪреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рд╛рд╡реА рдХрд╛?
  • рдиреЗрдордХреЗ рдХрд╛рдп рдЪреБрдХрд▓реЗ? рдХреЛрдгрддреНрдпрд╛ рдЪрд░рдгрд╛рдВрдЪреА рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рдЖрдгрд┐ рдХреЛрдгрддреА рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдХрд░рдгреЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдЖрд╣реЗ)?

Git-рдЖрдзрд╛рд░рд┐рдд рд╡рд░реНрдХрдлреНрд▓реЛ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реНрдпрд╛рдиреЗ рдмреЙрдмрдЪреНрдпрд╛ рдЯреАрдорд▓рд╛ рдпрд╛ рд╕рдорд╕реНрдпрд╛ рдпреЗрдгрд╛рд░ рдирд╛рд╣реАрдд рдпрд╛рдЪреА рд╣рдореА рджреЗрдд тАЛтАЛрдирд╛рд╣реА. рдХрдорд┐рдЯ рдкреБрд╢, рдЯреЕрдЧ рдХрд┐рдВрд╡рд╛ рдЗрддрд░ рдХрд╛рд╣реА рдкреЕрд░рд╛рдореАрдЯрд░рд╕рд╣ рддреЗ рдЕрдЬреВрдирд╣реА рдЪреВрдХ рдХрд░реВ рд╢рдХрддрд╛рдд; рддрдерд╛рдкрд┐, рд╣рд╛ рджреГрд╖реНрдЯреАрдХреЛрди рдЕрдЬреВрдирд╣реА рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рд╕рд░реНрд╡-рдХрд┐рдВрд╡рд╛-рдХрд╛рд╣реАрд╣реА рдирд╕рд▓реЗрд▓реНрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдЪреНрдпрд╛ рдЕрдЧрджреА рдЬрд╡рд│ рдЖрд╣реЗ.

рдереЛрдбрдХреНрдпрд╛рдд, рд╕реАрдЖрдп рд╕рд░реНрд╡реНрд╣рд░рдиреЗ рд╕реАрдбреАрд╢реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдХрд░реВ рдирдпреЗ рддреЗ рдпреЗрдереЗ рдЖрд╣реЗ:

  • рдЕрдкрдбреЗрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗрд╣рдореА рдирд┐рд░реНрдзрд╛рд░рдХ рдирд╕рддрд╛рдд; рддреНрдпрд╛рдВрдЪреНрдпрд╛рдордзреНрдпреЗ рдЪреБрдХрд╛ рдХрд░рдгреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ.
  • CI рд╕рд░реНрд╡реНрд╣рд░ рдШреЛрд╖рдгрд╛рддреНрдордХ рдХреНрд▓рд╕реНрдЯрд░ рдореЙрдбреЗрд▓рдордзреНрдпреЗ рдПрдХрддреНрд░ рдпреЗрдд рдирд╛рд╣реАрдд.
  • рдЕрд╢рдХреНрддрдкрдгрд╛рдЪреА рд╣рдореА рджреЗрдгреЗ рдХрдареАрдг рдЖрд╣реЗ. рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдиреА рд╕рд┐рд╕реНрдЯрдордЪреЗ рдЦреЛрд▓ рд╢рдмреНрджрд╛рд░реНрде рд╕рдордЬреВрди рдШреЗрддрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗрдд.
  • рдЖрдВрд╢рд┐рдХ рдЕрдкрдпрд╢рд╛рддреВрди рд╕рд╛рд╡рд░рдгреЗ рдЕрдзрд┐рдХ рдХрдареАрдг рдЖрд╣реЗ.

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

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд╕рд╛рдареА рд╕рддрдд рд╡рд┐рддрд░рдг рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдЪрд╛ рд╕рд░реНрд╡реЛрддреНрддрдо рдорд╛рд░реНрдЧ рдореНрд╣рдгреВрди GitOps

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

Kubernetes рд╕рд╛рдареА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЙрдбреЗрд▓

рдЦрд╛рд▓реАрд▓ рдЪрд┐рддреНрд░ рдкрд╣рд╛. рд╣реЗ Git рдЖрдгрд┐ рдХрдВрдЯреЗрдирд░ рдЗрдореЗрдЬ рд░рд┐рдкреЙрдЭрд┐рдЯрд░реА рджреЛрди рдСрд░реНрдХреЗрд╕реНрдЯреЗрдЯреЗрдб рд▓рд╛рдЗрдлрд╕рд╛рдпрдХрд▓рд╕рд╛рдареА рд╕рд╛рдорд╛рдпрд┐рдХ рд╕рдВрд╕рд╛рдзрдиреЗ рдореНрд╣рдгреВрди рд╕рд╛рджрд░ рдХрд░рддреЗ:

  • рдПрдХ рд╕рддрдд рдПрдХрддреНрд░реАрдХрд░рдг рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЬреА Git рд╡рд░ рдлрд╛рдпрд▓реА рд╡рд╛рдЪрддреЗ рдЖрдгрд┐ рд▓рд┐рд╣рд┐рддреЗ рдЖрдгрд┐ рдХрдВрдЯреЗрдирд░ рдкреНрд░рддрд┐рдорд╛рдВрдЪреЗ рднрд╛рдВрдбрд╛рд░ рдЕрджреНрдпрддрдирд┐рдд рдХрд░реВ рд╢рдХрддреЗ.
  • рдПрдХ рд░рдирдЯрд╛рдЗрдо GitOps рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЬреА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЖрдгрд┐ рдирд┐рд░реАрдХреНрд╖рдгрдХреНрд╖рдорддреЗрд╕рд╣ рддреИрдирд╛рддреА рдПрдХрддреНрд░ рдХрд░рддреЗ. рддреЗ Git рд╡рд░ рдлрд╛рдпрд▓реА рд╡рд╛рдЪрддреЗ рдЖрдгрд┐ рд▓рд┐рд╣рд┐рддреЗ рдЖрдгрд┐ рдХрдВрдЯреЗрдирд░ рдкреНрд░рддрд┐рдорд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реВ рд╢рдХрддреЗ.

рдореБрдЦреНрдп рдирд┐рд╖реНрдХрд░реНрд╖ рдХрд╛рдп рдЖрд╣реЗрдд?

  1. рдЪрд┐рдВрддрд╛ рд╡реЗрдЧрд│реЗ рдХрд░рдгреЗ: рдХреГрдкрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдШреНрдпрд╛ рдХреА рджреЛрдиреНрд╣реА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдлрдХреНрдд Git рдХрд┐рдВрд╡рд╛ рдЗрдореЗрдЬ рд░рд┐рдкреЙрдЭрд┐рдЯрд░реА рдЕрдкрдбреЗрдЯ рдХрд░реВрди рд╕рдВрд╡рд╛рдж рд╕рд╛рдзреВ рд╢рдХрддрд╛рдд. рджреБрд╕рд▒реНрдпрд╛ рд╢рдмреНрджрд╛рдВрдд, рд╕реАрдЖрдп рдЖрдгрд┐ рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдг рдпрд╛рдВрдЪреНрдпрд╛рдд рдлрд╛рдпрд░рд╡реЙрд▓ рдЖрд╣реЗ. рдЖрдореНрд╣реА рддреНрдпрд╛рд▓рд╛ "рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдлрд╛рдпрд░рд╡реЙрд▓" рдореНрд╣рдгрддреЛ (рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдлрд╛рдпрд░рд╡реЙрд▓), рдХрд╛рд░рдг рд╕рд░реНрд╡ рд░реЗрдкреЙрдЬрд┐рдЯрд░реА рдЕрджреНрдпрддрдиреЗ рдирд╡реАрди рдЖрд╡реГрддреНрддреНрдпрд╛ рддрдпрд╛рд░ рдХрд░рддрд╛рдд. рдпрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░реАрд▓ рдЕрдзрд┐рдХ рдорд╛рд╣рд┐рддреАрд╕рд╛рдареА, рд╕реНрд▓рд╛рдЗрдбреНрд╕ 72-87 рдкрд╣рд╛ рд╣реЗ рд╕рд╛рджрд░реАрдХрд░рдг.
  2. рддреБрдореНрд╣реА рдХреЛрдгрддреЗрд╣реА CI рдЖрдгрд┐ Git рд╕рд░реНрд╡реНрд╣рд░ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛: GitOps рдХреЛрдгрддреНрдпрд╛рд╣реА рдШрдЯрдХрд╛рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рддреЗ. рддреБрдореНрд╣реА рддреБрдордЪреЗ рдЖрд╡рдбрддреЗ CI рдЖрдгрд┐ Git рд╕рд░реНрд╡реНрд╣рд░, рдЗрдореЗрдЬ рд░рд┐рдкреЙрдЭрд┐рдЯрд░реАрдЬ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рд╕реВрдЯ рд╡рд╛рдкрд░рдгреЗ рд╕реБрд░реВ рдареЗрд╡реВ рд╢рдХрддрд╛. рдмрд╛рдЬрд╛рд░рд╛рддреАрд▓ рдЬрд╡рд│рдЬрд╡рд│ рд╕рд░реНрд╡ рдЗрддрд░ рд╕рддрдд рд╡рд┐рддрд░рдг рд╕рд╛рдзрдирд╛рдВрдирд╛ рддреНрдпрд╛рдВрдЪреЗ рд╕реНрд╡рддрдГрдЪреЗ CI/Git рд╕рд░реНрд╡реНрд╣рд░ рдХрд┐рдВрд╡рд╛ рдкреНрд░рддрд┐рдорд╛ рднрд╛рдВрдбрд╛рд░ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╣реЗ рдХреНрд▓рд╛рдЙрдб рдиреЗрдЯрд┐рд╡реНрд╣рдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рд╕рд╛рдареА рдорд░реНрдпрд╛рджрд┐рдд рдШрдЯрдХ рдмрдиреВ рд╢рдХрддреЗ. GitOps рд╕рд╣, рддреБрдореНрд╣реА рдкрд░рд┐рдЪрд┐рдд рд╕рд╛рдзрдиреЗ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛.
  3. рдПрдХреАрдХрд░рдг рд╕рд╛рдзрди рдореНрд╣рдгреВрди рдХрд╛рд░реНрдпрдХреНрд░рдо: Git рдордзреАрд▓ рдбреЗрдЯрд╛ рдЕрдкрдбреЗрдЯ рд╣реЛрддрд╛рдЪ, Weave Flux (рдХрд┐рдВрд╡рд╛ Weave Cloud рдСрдкрд░реЗрдЯрд░) рд░рдирдЯрд╛рдЗрдо рд╕реВрдЪрд┐рдд рдХрд░рддреЛ. рдЬреЗрд╡реНрд╣рд╛ рдЬреЗрд╡реНрд╣рд╛ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдмрджрд▓ рд╕рдВрдЪ рд╕реНрд╡реАрдХрд╛рд░рддрд╛рдд, рддреЗрд╡реНрд╣рд╛ Git рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рд╣реЗ рдЦрд╛рд▓реА рджрд░реНрд╢рд╡рд┐рд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ GitOps рд╕рд╛рдареА рд╡рд░реНрдХрдлреНрд▓реЛ рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рд╕рд╛рдзреЗ рдПрдХрддреНрд░реАрдХрд░рдг рдореЙрдбреЗрд▓ рдкреНрд░рджрд╛рди рдХрд░рддреЗ.

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

GitOps рдХреЛрдгрддреНрдпрд╛рд╣реА рдЖрдзреБрдирд┐рдХ CI/CD рдЯреВрд▓рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реА рдордЬрдмреВрдд рдЕрдкрдбреЗрдЯ рд╣рдореА рджреЗрддреЗ:

  • рдСрдЯреЛрдореЗрд╢рди;
  • рдЕрднрд┐рд╕рд░рдг
  • рдЕрд╢рдХреНрддрдкрдгрд╛;
  • рдирд┐рд░реНрдзрд╛рд░рд╡рд╛рдж

рд╣реЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ рдХрд╛рд░рдг рддреЗ рдХреНрд▓рд╛рдЙрдб рдиреЗрдЯрд┐рд╡реНрд╣ рдбреЗрд╡реНрд╣рд▓рдкрд░рд╕рд╛рдареА рдСрдкрд░реЗрд╢рдирд▓ рдореЙрдбреЗрд▓ рдСрдлрд░ рдХрд░рддреЗ.

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

рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдврдЧрд╛рдВрдордзреНрдпреЗ рд╡рд┐рдЦреБрд░рд▓реЗрд▓реНрдпрд╛ рдЕрдиреЗрдХ рдХреНрд▓рд╕реНрдЯрд░реНрд╕рдЪреА рдХрд▓реНрдкрдирд╛ рдХрд░рд╛ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реНрд╡рдд:рдЪреНрдпрд╛ рдЯреАрдореНрд╕ рдЖрдгрд┐ рддреИрдирд╛рддреА рдпреЛрдЬрдирд╛рдВрд╕рд╣ рдЕрдиреЗрдХ рд╕реЗрд╡рд╛. GitOps рд╣реА рд╕рд░реНрд╡ рд╡рд┐рдкреБрд▓рддрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрдХреЗрд▓-рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдореЙрдбреЗрд▓ рдСрдлрд░ рдХрд░рддреЗ.

рдЕрдиреБрд╡рд╛рджрдХрд╛рдХрдбреВрди рдкреБрдирд╢реНрдЪ

рдЖрдордЪреНрдпрд╛ рдмреНрд▓реЙрдЧрд╡рд░ рджреЗрдЦреАрд▓ рд╡рд╛рдЪрд╛:

рдХреЗрд╡рд│ рдиреЛрдВрджрдгреАрдХреГрдд рд╡рд╛рдкрд░рдХрд░реНрддреЗрдЪ рд╕рд░реНрд╡реЗрдХреНрд╖рдгрд╛рдд рднрд╛рдЧ рдШреЗрдК рд╢рдХрддрд╛рдд. рд╕рд╛рдЗрди рдЗрди рдХрд░рд╛, рдЖрдкрд▓реЗ рд╕реНрд╡рд╛рдЧрдд рдЖрд╣реЗ.

рд╣реЗ рджреЛрди рднрд╛рд╖рд╛рдВрддрд░ Habr├й рд╡рд░ рджрд┐рд╕рдгреНрдпрд╛рдкреВрд░реНрд╡реА рддреБрдореНрд╣рд╛рд▓рд╛ GitOps рдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рд╣реЛрддреА рдХрд╛?

  • рд╣реЛрдп, рдорд▓рд╛ рд╕рд░реНрд╡ рдХрд╛рд╣реА рдорд╛рд╣рд┐рдд рд╣реЛрддреЗ

  • рдХреЗрд╡рд│ рд╡рд░рд╡рд░рдЪреЗ

  • рдХреЛрдгрддреНрдпрд╛рд╣реА

35 рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдиреА рдорддрджрд╛рди рдХреЗрд▓реЗ. 10 рд╡рд╛рдкрд░рдХрд░реНрддреЗ рджреВрд░ рд░рд╛рд╣рд┐рд▓реЗ.

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

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