рд╡реЗрдпрд░рдлрд╝ рдореЗрдВ 3-рддрд░рдлрд╝рд╛ рд╡рд┐рд▓рдп: "рд╕реНрдЯреЗрд░реЙрдпрдб рдкрд░" рд╣реЗрд▓реНрдо рдХреЗ рд╕рд╛рде рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рддреИрдирд╛рддреА

рдЬрд┐рд╕рдХрд╛ рд╣рдо (рдФрд░ рдХреЗрд╡рд▓ рд╣рдо рд╣реА рдирд╣реАрдВ) рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рдереЗ рд╡рд╣ рд╣реБрдЖ: Werf, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рддрдХ рдкрд╣реБрдВрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рдУрдкрди рд╕реЛрд░реНрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛, рдЕрдм 3-рддрд░рдлрд╝рд╛ рдорд░реНрдЬ рдкреИрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИ! рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЗрди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд┐рдирд╛ рдореМрдЬреВрджрд╛ K8s рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╣реЗрд▓реНрдо рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдЕрдкрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИред

рд╡реЗрдпрд░рдлрд╝ рдореЗрдВ 3-рддрд░рдлрд╝рд╛ рд╡рд┐рд▓рдп: "рд╕реНрдЯреЗрд░реЙрдпрдб рдкрд░" рд╣реЗрд▓реНрдо рдХреЗ рд╕рд╛рде рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рддреИрдирд╛рддреА

рдпрджрд┐ рдпрд╣ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реИ, рддреЛ рд╣рдо рдбрд╛рд▓рддреЗ рд╣реИрдВ WERF_THREE_WAY_MERGE=enabled - рд╣рдореЗрдВ рддреИрдирд╛рддреА рдорд┐рд▓рддреА рд╣реИ "рдЬреИрд╕рд╛ рдХрд┐ kubectl apply", рдореМрдЬреВрджрд╛ рд╣реЗрд▓реНрдо 2 рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдФрд░ рдЙрд╕рд╕реЗ рднреА рдХреБрдЫ рдЕрдзрд┐рдХ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддред

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

3-рд╡реЗ-рдорд░реНрдЬ рдкреИрдЪ рдХреНрдпрд╛ рд╣реИ?

рддреЛ, рдЖрдЗрдП YAML рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рд╢реБрд░реВ рдХрд░реЗрдВред

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

kubectl рдЕрдирд┐рд╡рд╛рд░реНрдп рдЖрджреЗрд╢

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

  • рдЯреАрдо kubectl run рдЖрдк рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдпрд╛ рдХрд╛рд░реНрдп рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:
    kubectl run --generator=deployment/apps.v1 DEPLOYMENT_NAME --image=IMAGE
  • рдЯреАрдо kubectl scale - рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрджрд▓реЗрдВ:
    kubectl scale --replicas=3 deployment/mysql
  • рдЖрджрд┐

рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реИрдВ:

  1. рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП.
  2. рдЬреИрд╕рд╛ рд╡рд┐рдиреНрдпрд╛рд╕ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░реЗрдВ рдЧрд┐рдЯ рдореЗрдВ? рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╣реЛ рд░рд╣реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ?
  3. рдХреИрд╕реЗ рдкреНрд░рджрд╛рди рдХрд░реЗрдВ reproducibility рдкреБрдирд░рд╛рд░рдВрдн рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди?
  4. ...

рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рдХреЛрдб (IaC; рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐) рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рдлрд┐рдЯ рдирд╣реАрдВ рдмреИрдарддрд╛ рд╣реИ GitOps рдПрдХ рдЕрдзрд┐рдХ рдЖрдзреБрдирд┐рдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реИ)ред рдЗрд╕рд▓рд┐рдП, рдЗрди рдХрдорд╛рдВрдбреЛрдВ рдХреЛ рдХреБрдмреЗрдХреНрдЯрд▓ рдореЗрдВ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдирд╣реАрдВ рдорд┐рд▓рд╛ред

рд╕рдВрдЪрд╛рд▓рди рдмрдирд╛рдПрдВ, рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдмрджрд▓реЗрдВ рдФрд░ рд╣рдЯрд╛рдПрдВ

рдкреНрд░рд╛рдердорд┐рдХ рдХреЗ рд╕рд╛рде рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдпрд╣ рд╕рд░рд▓ рд╣реИ: рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдореЗрдирд┐рдлреЗрд╕реНрдЯ рднреЗрдЬреЗрдВ create рдХреНрдпреВрдм рдПрдкреАрдЖрдИ рдФрд░ рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдХрд╛ YAML рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ Git рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ kubectl create -f manifest.yaml.

╨б рдирд┐рд╖реНрдХрд╛рд╕рди рдпрд╣ рднреА рд╕рд░рд▓ рд╣реИ: рд╡рд╣реА рд╕реНрдерд╛рдирд╛рдкрдиреНрди рдХрд░реЗрдВ manifest.yaml Git рд╕реЗ рдЯреАрдо рддрдХ kubectl delete -f manifest.yaml.

рдЖрдкрд░реЗрд╢рди replace рдЖрдкрдХреЛ рд╕рдВрд╕рд╛рдзрди рдХреЛ рджреЛрдмрд╛рд░рд╛ рдмрдирд╛рдП рдмрд┐рдирд╛, рд╕рдВрд╕рд╛рдзрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рдирдП рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рд╕рдВрд╕рд╛рдзрди рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдСрдкрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдХреНрд╡реЗрд░реА рдХрд░рдирд╛ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИ get, рдЗрд╕реЗ рдмрджрд▓реЗрдВ рдФрд░ рдСрдкрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ replace. рдХреНрдпреВрдм рдПрдкреАрд╕рд░реНрд╡рд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЖрд╢рд╛рд╡рд╛рджреА рддрд╛рд▓рд╛ рдФрд░, рдпрджрд┐ рд╕рд░реНрдЬрд░реА рдХреЗ рдмрд╛рдж get рдСрдмреНрдЬреЗрдХреНрдЯ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдлрд┐рд░ рдСрдкрд░реЗрд╢рди replace рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛.

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ Git рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдФрд░ рд░рд┐рдкреНрд▓реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдСрдкрд░реЗрд╢рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ get, рдЬреЛ рд╣рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ рдЙрд╕рдХреЗ рд╕рд╛рде Git рд╕реЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдХреЛ рдорд░реНрдЬ рдХрд░реЗрдВ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ replace. рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, kubectl рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ kubectl replace -f manifest.yamlрдЬрд╣рд╛рдВ manifest.yaml - рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддреИрдпрд╛рд░ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд┐рд▓рдп) рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ рдЬрд┐рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдорд░реНрдЬ рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдХреЛрдИ рдорд╛рдореВрд▓реА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ...

рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдмрд╛рдд рд╣реИ manifest.yaml рдФрд░ Git рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рдирд╣реАрдВ рдЬрд╛рди рд╕рдХрддреЗ рдХрд┐ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдмрдирд╛рдирд╛ рдпрд╛ рдЙрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ - рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП... рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЖрдкрдХреЛ рдорд░реНрдЬ рдСрдкрд░реЗрд╢рди рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдШреЛрд╖рдгрд╛рдкрддреНрд░ рдФрд░ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдмрдВрдзрди рдЬреЛ:

  • рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ,
  • рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрд╕рд╛рдзрди рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИ,
  • рдЙрд╕реЗ рдЕрджреНрдпрддрди рдХрд░рддрд╛ рд╣реИ рдпрд╛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред

рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╕рдордп рдХреГрдкрдпрд╛ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдВ рд╕рдВрд╕рд╛рдзрди рдмрджрд▓ рдЧрдпрд╛ рд╣реЛрдЧрд╛ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рд╕реЗ рд▓реЗрдХрд░ get рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрд╢рд╛рд╡рд╛рджреА рд▓реЙрдХрд┐рдВрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рд╕рдВрднрд╛рд▓реЗрдВ - рдмрд╛рд░-рдмрд╛рд░ рдЕрджреНрдпрддрди рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрдм рдХреНрдпреВрдм-рдПрдкрд┐рд╕рд░реНрд╡рд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ: рдСрдкрд░реЗрд╢рди, рддреЛ рдкрд╣рд┐рдП рдХрд╛ рдкреБрди: рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХреНрдпреЛрдВ рдХрд░реЗрдВ patch, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╡рд░реНрдгрд┐рдд рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рджрд┐рд▓рд╛рддрд╛ рд╣реИ?

рдкреИрдЪ

рдЕрдм рд╣рдо рдкреИрдЪ рдкрд░ рдЖрддреЗ рд╣реИрдВред

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдореМрдЬреВрджрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╛рдердорд┐рдХ рддрд░реАрдХрд╛ рдкреИрдЪ рд╣реИред рд╕рдВрдЪрд╛рд▓рди patch рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

  • рдХреНрдпреВрдм-рдПрдкрд┐рд╕рд░реНрд╡рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ JSON рдлреЙрд░реНрдо рдореЗрдВ рдПрдХ рдкреИрдЪ рднреЗрдЬрдиреЗ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ,
  • рдФрд░ рдПрдкрд┐рд╕рд░реНрд╡рд░ рд╕реНрд╡рдпрдВ рд╡рд╕реНрддреБ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рд╕реЗ рдирд┐рдкрдЯреЗрдЧрд╛ рдФрд░ рдЙрд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рдореЗрдВ рд▓рд╛рдПрдЧрд╛ред

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

рдЗрд╕ рдкреНрд░рдХрд╛рд░:

  • рдПрдХ рдСрдкрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ create рд╣рдо Git рдХреЗ рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ,
  • рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ delete - рдпрджрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдЕрдм рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рддреЛ рд╣рдЯрд╛ рджреЗрдВ,
  • рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ patch - рд╣рдо рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ, рдЗрд╕реЗ Git рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд░реВрдк рдореЗрдВ рд▓рд╛рддреЗ рд╣реИрдВред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд╕рд╣реА рдкреИрдЪ!

рд╣реЗрд▓реНрдо 2 рдореЗрдВ рдкреИрдЪ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ: 2-рд╡реЗ-рдорд░реНрдЬ

рдЬрдм рдЖрдк рдкрд╣рд▓реА рдмрд╛рд░ рдХреЛрдИ рд░рд┐рд▓реАрдЬрд╝ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣реЗрд▓реНрдо рдСрдкрд░реЗрд╢рди рдХрд░рддрд╛ рд╣реИ create рдЪрд╛рд░реНрдЯ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП.

рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рд╣реЗрд▓реНрдо рд░рд┐рд▓реАрдЬрд╝ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рддреЗ рд╕рдордп:

  • рдкрд┐рдЫрд▓реЗ рдЪрд╛рд░реНрдЯ рдХреЗ рд╕рдВрд╕рд╛рдзрди рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рд╡рд░реНрддрдорд╛рди рдЪрд╛рд░реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмреАрдЪ рдкреИрдЪ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИ,
  • рдЗрд╕ рдкреИрдЪ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ.

рд╣рдо рдЗрд╕ рдкреИрдЪ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВрдЧреЗ 2-рддрд░рдлрд╛ рдорд░реНрдЬ рдкреИрдЪ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ 2 рдШреЛрд╖рдгрд╛рдкрддреНрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  • рдкрд┐рдЫрд▓реА рд░рд┐рд▓реАрдЬрд╝ рд╕реЗ рд╕рдВрд╕рд╛рдзрди рдкреНрд░рдХрдЯ,
  • рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕рд╛рдзрди рд╕реЗ рд╕рдВрд╕рд╛рдзрди рдкреНрд░рдХрдЯред

рдСрдкрд░реЗрд╢рди рд╣рдЯрд╛рддреЗ рд╕рдордп delete рдХреНрдпреВрдм рдореЗрдВ рдПрдкрд┐рд╕рд░реНрд╡рд░ рдХреЛ рдЙрди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдкрд┐рдЫрд▓реА рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЧрдП рдереЗ, рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдШреЛрд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рдереЗред

2-рддрд░рдлрд╝рд╛ рдорд░реНрдЬ рдкреИрдЪ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ: рдпрд╣ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╕рдВрд╕рд╛рдзрди рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рдФрд░ Git рдореЗрдВ рдкреНрд░рдХрдЯ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рд╕рдордиреНрд╡рдп рд╕реЗ рдмрд╛рд╣рд░.

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЪрд┐рддреНрд░рдг

  • Git рдореЗрдВ, рдПрдХ рдЪрд╛рд░реНрдЯ рдПрдХ рдореЗрдирд┐рдлреЗрд╕реНрдЯ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдлрд╝реАрд▓реНрдб image рддреИрдирд╛рддреА рдорд╛рдпрдиреЗ рд░рдЦрддреА рд╣реИ ubuntu:18.04.
  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ kubectl edit рдЗрд╕ рдлрд╝реАрд▓реНрдб рдХрд╛ рдорд╛рди рдмрджрд▓ рджрд┐рдпрд╛ ubuntu:19.04.
  • рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ рдХреЛ рдкреБрдирдГ рддреИрдирд╛рдд рдХрд░рддреЗ рд╕рдордп рдПрдХ рдкреИрдЪ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░рддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдлрд╝реАрд▓реНрдб image рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рд╡рд░реНрддрдорд╛рди рдЪрд╛рд░реНрдЯ рдореЗрдВ рд╕рдорд╛рди рд╣реИрдВред
  • рдкреБрди: рддреИрдирд╛рддреА рдХреЗ рдмрд╛рдж image рдЕрд╡рд╢реЗрд╖ ubuntu:19.04, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЪрд╛рд░реНрдЯ рдХрд╣рддрд╛ рд╣реИ ubuntu:18.04.

рд╣рдореЗрдВ рдбреАрд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдорд┐рд▓рд╛ рдФрд░ рдШреЛрд╖рдгрд╛рддреНрдордХрддрд╛ рдЦреЛ рдЧрдИред

рд╕рдордХрд╛рд▓рд┐рдХ рд╕рдВрд╕рд╛рдзрди рдХреНрдпрд╛ рд╣реИ?

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

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

3-рддрд░рдлрд╛ рдорд░реНрдЬ рдкреИрдЪ

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

  • рд▓рдХреНрд╖реНрдп рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдирдП рдлрд╝реАрд▓реНрдб рдкреИрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВ;
  • рдЕрдВрддрд┐рдо рд▓рд╛рдЧреВ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдлрд╝реАрд▓реНрдб рдФрд░ рд▓рдХреНрд╖реНрдп рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рдХреЛ рдкреИрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░реАрд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
  • рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╡реЗ рдлрд╝реАрд▓реНрдб рдЬреЛ рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдХреЗ рд▓рдХреНрд╖реНрдп рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рднрд┐рдиреНрди рд╣реИрдВ, рдкреИрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдЗрд╕реА рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдпрд╣ рдкреИрдЪ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ kubectl apply:

  • рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдХрд╛ рдЕрдВрддрд┐рдо рд▓рд╛рдЧреВ рд╕рдВрд╕реНрдХрд░рдг рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдПрдиреЛрдЯреЗрд╢рди рдореЗрдВ рд╣реА рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ,
  • рд▓рдХреНрд╖реНрдп - рдирд┐рд░реНрджрд┐рд╖реНрдЯ YAML рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛,
  • рд╡рд░реНрддрдорд╛рди рдПрдХ рдЪрд╛рд▓реВ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рд╣реИред

рдЕрдм рдЬрдм рд╣рдордиреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рд╕реБрд▓рдЭрд╛ рд▓рд┐рдпрд╛ рд╣реИ, рддреЛ рдЕрдм рдЖрдкрдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╣рдордиреЗ рд╡реЗрдпрд░рдлрд╝ рдореЗрдВ рдХреНрдпрд╛ рдХрд┐рдпрд╛ред

рд╡реЗрдпрд░рдлрд╝ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВ рдХрд░рдирд╛

рдкрд╣рд▓реЗ, рд╣реЗрд▓реНрдо 2 рдХреА рддрд░рд╣, рд╡реЗрдпрд░рдлрд╝, 2-рд╡реЗ-рдорд░реНрдЬ рдкреИрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рдерд╛ред

рдорд░рдореНрдордд рдкреИрдЪ

рдПрдХ рдирдП рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреИрдЪ - 3-рд╡реЗ-рдорд░реНрдЬ - рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓рд╛ рдХрджрдо рд╣рдордиреЗ рддрдерд╛рдХрдерд┐рдд рдкреЗрд╢ рдХрд┐рдпрд╛ рдорд░рдореНрдордд рдкреИрдЪ.

рддреИрдирд╛рддреА рдХрд░рддреЗ рд╕рдордп, рдПрдХ рдорд╛рдирдХ 2-рд╡реЗ-рдорд░реНрдЬ рдкреИрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗрдпрд░рдлрд╝ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдПрдХ рдкреИрдЪ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕рдВрд╕рд╛рдзрди рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЛ Git рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░реЗрдЧрд╛ (рдРрд╕рд╛ рдкреИрдЪ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╕рдорд╛рди рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рд╕рдВрд╕рд╛рдзрди рдирд┐рдпрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ) .

рдпрджрд┐ рдХреЛрдИ рдбреАрд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рд╣реЛрддрд╛ рд╣реИ, рддреЛ рддреИрдирд╛рддреА рдХреЗ рдЕрдВрдд рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрджреЗрд╢ рдФрд░ рдПрдХ рдкреИрдЪ рдХреЗ рд╕рд╛рде рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕реЗ рд╕рдВрд╕рд╛рдзрди рдХреЛ рдПрдХ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдлреЙрд░реНрдо рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдкреИрдЪ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдПрдиреЛрдЯреЗрд╢рди рдореЗрдВ рднреА рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ werf.io/repair-patch. рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╣рд╛рде рд╕реНрд╡рдпрдВ рдЗрд╕ рдкреИрдЪ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдЧрд╛: рд╡реЗрдпрд░реНрдлрд╝ рдЗрд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

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

3-рд╡реЗ-рдорд░реНрдЬ рдкреИрдЪ рдХреЗрд╡рд▓ рдирдИ рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд▓рд┐рдП

1 рджрд┐рд╕рдВрдмрд░, 2019 рд╕реЗ рд╡реЗрдпрд░рдлрд╝ рдХреЗ рдмреАрдЯрд╛ рдФрд░ рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╢реБрд░реВ рд╣реЛрдВрдЧреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ рд╡реЗрдпрд░рдлрд╝ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рдирдП рд╣реЗрд▓реНрдо рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╡рд┐рдХрд╕рд┐рдд 3-рд╡реЗ-рдорд░реНрдЬ рдкреИрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдореМрдЬреВрджрд╛ рд░рд┐рд▓реАрдЬрд╝ 2-рд╡реЗ-рдорд░реНрдЬ + рд░рд┐рдкреЗрдпрд░ рдкреИрдЪ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗред

рдЗрд╕ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб рдХреЛ рд╕реЗрдЯрд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ WERF_THREE_WAY_MERGE_MODE=onlyNewReleases рдЕрдмред

рдиреЛрдЯ: рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХрдИ рд░рд┐рд▓реАрдЬреЛрдВ рдореЗрдВ рд╡реЗрдпрд░рдлрд╝ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреА: рдЕрд▓реНрдлрд╛ рдЪреИрдирд▓ рдореЗрдВ рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рддреИрдпрд╛рд░ рд╣реЛ рдЧрдпрд╛ v1.0.5-рдЕрд▓реНрдлрд╛.19, рдФрд░ рдмреАрдЯрд╛ рдЪреИрдирд▓ рдореЗрдВ - рд╕рд╛рде v1.0.4-рдмреАрдЯрд╛.20.

рд╕рднреА рд░рд┐рд▓реАрдЬрд╝реЛрдВ рдХреЗ рд▓рд┐рдП 3-рд╡реЗ-рдорд░реНрдЬ рдкреИрдЪ

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

рдЗрд╕ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб рдХреЛ рд╕реЗрдЯрд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ WERF_THREE_WAY_MERGE_MODE=enabled рдЕрдмред

рд╕рдВрд╕рд╛рдзрди рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░реЗрдВ?

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ 2 рдкреНрд░рдХрд╛рд░ рдХреА рд╣реЛрддреА рд╣реИ: рдПрдЪрдкреАрдП (рдХреНрд╖реИрддрд┐рдЬ) рдФрд░ рд╡реАрдкреАрдП (рдКрд░реНрдзреНрд╡рд╛рдзрд░)ред

рдХреНрд╖реИрддрд┐рдЬ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ, рдКрд░реНрдзреНрд╡рд╛рдзрд░ - рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рд╕рдВрд╕рд╛рдзрди рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рджреЛрдиреЛрдВ рд╕рдВрд╕рд╛рдзрди рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИрдВ (рд╕рдВрд╕рд╛рдзрди рдореЗрдирд┐рдлреЗрд╕реНрдЯ рджреЗрдЦреЗрдВ)ред spec.replicas рдпрд╛ spec.containers[].resources.limits.cpu, spec.containers[].resources.limits.memory ╨╕ рдЕрдиреНрдп рд▓реЛрдЧ).

рд╕рдорд╕реНрдпрд╛: рдпрджрд┐ рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕реА рдЪрд╛рд░реНрдЯ рдореЗрдВ рдХрд┐рд╕реА рд╕рдВрд╕рд╛рдзрди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╡рд╣ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдпрд╛ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХреЗ рдФрд░ рдЗрд╕ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рдСрдЯреЛрд╕реНрдХреЗрд▓рд░ рд╕рдХреНрд╖рдо рд╣реЛ, рддреЛ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд╕рд╛рде рд╡реЗрдпрд░рдлрд╝ рдЗрди рдорд╛рдиреЛрдВ рдХреЛ рдЪрд╛рд░реНрдЯ рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдорд╛рдиреЛрдВ рдкрд░ рд░реАрд╕реЗрдЯ рдХрд░ рджреЗрдЧрд╛ред .

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

  • werf.io/set-replicas-only-on-creation=true
  • werf.io/set-resources-only-on-creation=true

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

рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВ рдПрдЪрдкреАрдП ╨╕ VPA.

3-рд╡реЗ-рдорд░реНрдЬ рдкреИрдЪ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рд░реЛрдХ рд▓рдЧрд╛рдПрдВ

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реЗрдпрд░рдлрд╝ рдореЗрдВ рдирдП рдкреИрдЪ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ WERF_THREE_WAY_MERGE_MODE=disabled. рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╢реБрд░реВ рд╣реЛ рд░рд╣рд╛ рд╣реИ 1 рдорд╛рд░реНрдЪ 2020 рд╕реЗ рдпрд╣ рдкреНрд░рддрд┐рдмрдВрдз рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрдЧрд╛. рдФрд░ рдХреЗрд╡рд▓ 3-рд╡реЗ-рдорд░реНрдЬ рдкреИрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред

рд╡реЗрдпрд░рдлрд╝ рдореЗрдВ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЕрдкрдирд╛рдирд╛

3-рд╡реЗ-рдорд░реНрдЬ рдкреИрдЪ рдХреЗ рд╕рд╛рде рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рд╕реЗ рд╣рдореЗрдВ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдореМрдЬреВрдж рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╣реЗрд▓реНрдо рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдЕрдкрдирд╛рдиреЗ рдЬреИрд╕реА рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рддреБрд░рдВрдд рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓реАред

рд╣реЗрд▓реНрдо 2 рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ: рдЖрдк рдЗрд╕ рд╕рдВрд╕рд╛рдзрди рдХреЛ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рджреЛрдмрд╛рд░рд╛ рдмрдирд╛рдП рдмрд┐рдирд╛ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдЪрд╛рд░реНрдЯ рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ рдореЗрдВ рдХреЛрдИ рд╕рдВрд╕рд╛рдзрди рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ (рджреЗрдЦреЗрдВ)ред #6031, #3275). рд╣рдордиреЗ рд╡реЗрдпрд░рдлрд╝ рдХреЛ рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╕рд┐рдЦрд╛рдпрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЪрд▓ рд░рд╣реЗ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдПрдХ рдПрдиреЛрдЯреЗрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) kubectl edit):

"werf.io/allow-adoption-by-release": RELEASE_NAME

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

рдиреЛрдЯ: рд╕реНрдерд╛рдкрдирд╛ WERF_THREE_WAY_MERGE_MODE рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЕрдкрдирд╛рдиреЗ рдкрд░ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ - рдЧреЛрдж рд▓реЗрдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, 3-рд╡реЗ-рдорд░реНрдЬ рдкреИрдЪ рдХрд╛ рд╣рдореЗрд╢рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╡рд┐рд╡рд░рдг - рдореЗрдВ рдкреНрд░рд▓реЗрдЦрди.

рдирд┐рд╖реНрдХрд░реНрд╖ рдПрд╡рдВ рднрд╡рд┐рд╖реНрдп рдХреА рдпреЛрдЬрдирд╛рдПрдБ

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

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

рд╕рдВрд╕рд╛рдзрди рдЕрджреНрдпрддрди рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рдЕрдкрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдВ рднреА рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреГрд╖реНрда.

рдкрддрд╡рд╛рд░ 3

рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЕрднреА рдХреБрдЫ рд╣реА рджрд┐рди рдкрд╣рд▓реЗ рд╣реЗрд▓реНрдо рдХрд╛ рдПрдХ рдирдпрд╛ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг - рд╡реА3 - рдЬреЛ 3-рд╡реЗ-рдорд░реНрдЬ рдкреИрдЪ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЯрд┐рд▓рд░ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рджрд┐рд▓рд╛рддрд╛ рд╣реИред рд╣реЗрд▓реНрдо рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдкреНрд░рд╡рд╛рд╕ рдореМрдЬреВрджрд╛ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЛ рдирдП рд░рд┐рд▓реАрдЬрд╝ рд╕реНрдЯреЛрд░реЗрдЬ рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдПред

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

рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╡реЗрдпрд░рдлрд╝ рдХрд╛ рд╣реЗрд▓реНрдо 3 рдХреЛрдбрдмреЗрд╕ рдкрд░ рд╕реНрд╡рд┐рдЪ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рд╣реИ рдФрд░ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣реЛрдЧрд╛ред рд╕рдВрднрд╡рддрдГ рдпрд╣ werf 1.1 рдпрд╛ werf 1.2 рд╣реЛрдЧрд╛ (рдлрд┐рд▓рд╣рд╛рд▓, werf рдХрд╛ рдореБрдЦреНрдп рд╕рдВрд╕реНрдХрд░рдг 1.0 рд╣реИ; werf рд╕рдВрд╕реНрдХрд░рдг рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рджреЗрдЦреЗрдВ рдпрд╣рд╛рдВ). рдЗрд╕ рджреМрд░рд╛рди рд╣реЗрд▓реНрдо 3 рдХреЛ рд╕реНрдерд┐рд░ рд╣реЛрдиреЗ рдХрд╛ рд╕рдордп рдорд┐рд▓реЗрдЧрд╛ред

рдкреБрдирд╢реНрдЪ

рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдкрд░ рднреА рдкрдврд╝реЗрдВ:

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

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