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

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

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

рд╡рд┐рддрд░рд┐рдд рдХреА рдЧрдИ рддреИрдирд╛рддреА
рдЧреНрд▓реЛрдмрд▓ рд╣реЗрд▓реНрдо рд╡реИрд▓реНрдпреВрдЬрд╝
4 рд╡реИрд╢реНрд╡рд┐рдХ рд╣реЗрд▓реНрдо рдореВрд▓реНрдп рдЖрдкрдХреЛ рд╕рдореВрд╣реЛрдВ рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рд╕рднреА рдЪрд╛рд░реНрдЯ рдХреЗ рд▓рд┐рдП, рдиреНрдпреВрдирддрдо рдЪреВрдХ рд╣реИрдВред
global: cloud: True env: staging region: us-central1 clusterName: staging-us-central1
рд╡реИрд╢реНрд╡рд┐рдХ рдореВрд▓реНрдп
рдпреЗ рдореВрд▓реНрдп рд╣рдорд╛рд░реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрджрд░реНрдн рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ: рдирд┐рдЧрд░рд╛рдиреА, тАЛтАЛрдЕрдиреБрд░реЗрдЦрдг, рд▓реЙрдЧрд┐рдВрдЧ, рдмрд╛рд╣рд░реА рдХреЙрд▓ рдХрд░рдирд╛, рд╕реНрдХреЗрд▓рд┐рдВрдЧ, рдЖрджрд┐ред
- "рдХреНрд▓рд╛рдЙрдб": рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╣рд╛рдЗрдмреНрд░рд┐рдб рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реА рдПрдкреАрдЖрдИ рдЬреАрд╕реАрдкреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдФрд░ рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛ рдХреЗрдВрджреНрд░реЛрдВ рдореЗрдВ рддреИрдирд╛рдд рд╣реИред
- "Env": рдХреБрдЫ рдорд╛рди рдЧреИрд░-рдХрд╛рд░реНрдпрд╢реАрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрд╕рд╛рдзрди рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рдФрд░ рдСрдЯреЛрд╕реНрдХреЗрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдиред
- "рдХреНрд╖реЗрддреНрд░": рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕реНрдерд╛рди рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╛рд╣рд░реА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдирд┐рдХрдЯрддрдо рд╕рдорд╛рдкрди рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- тАЬрдХреНрд▓рд╕реНрдЯрд░рдиреЗрдотАЭ: рдпрджрд┐ рдФрд░ рдЬрдм рд╣рдо рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдпрд╣рд╛рдБ рдПрдХ рдареЛрд╕ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
{{/* Returns Horizontal Pod Autoscaler replicas for GraphQL*/}} {{- define "graphql.hpaReplicas" -}} {{- if eq .Values.global.env "prod" }} {{- if eq .Values.global.region "europe-west1" }} minReplicas: 40 {{- else }} minReplicas: 150 {{- end }} maxReplicas: 1400 {{- else }} minReplicas: 4 maxReplicas: 20 {{- end }} {{- end -}}
рд╣реЗрд▓реНрдо рдЯреЗрдореНрдкрд▓реЗрдЯ рдЙрджрд╛рд╣рд░рдг
рдЗрд╕ рддрд░реНрдХ рдХреЛ рд╣реЗрд▓реНрдкрд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдпрдореНрд▓ рдХреЛ рд░реЛрдХрдирд╛ рди рдкрдбрд╝реЗред
рдЖрд╡реЗрджрди рдХреА рдШреЛрд╖рдгрд╛
рд╣рдорд╛рд░реЗ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдЙрдкрдХрд░рдг рдХрдИ YAML рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдХреИрд╕реЗ рд╣рдо рдПрдХ рд╕реЗрд╡рд╛ рдФрд░ рдЙрд╕рдХреЗ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЯреЛрдкреЛрд▓реЙрдЬреА (рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛) рдХреЛ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
releases: - foo.world foo.world: # Release name services: # List of dailymotion's apps/projects foobar: chart_name: foo-foobar repo: git@github.com:dailymotion/foobar contexts: prod-europe-west1: deployments: - name: foo-bar-baz replicas: 18 - name: another-deployment replicas: 3
рд╕реЗрд╡рд╛ рдкрд░рд┐рднрд╛рд╖рд╛
рдпрд╣ рдЙрди рд╕рднреА рдЪрд░рдгреЛрдВ рдХрд╛ рдПрдХ рдЖрд░реЗрдЦ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЕрдВрддрд┐рдо рдЪрд░рдг рдПрдХ рд╕рд╛рде рдХрдИ рдХрд╛рд░реНрдп рд╕рдореВрд╣реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЬреЗрдирдХрд┐рдВрд╕ рддреИрдирд╛рддреА рдХрджрдо
рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рд╣рдо рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд╕рднреА рд░рд╣рд╕реНрдпреЛрдВ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреЗрд░рд┐рд╕ рдореЗрдВ рдЕрджреНрд╡рд┐рддреАрдп рд╡реЙрд▓реНрдЯ рднрдВрдбрд╛рд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВред
рд╣рдорд╛рд░реЗ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдЙрдкрдХрд░рдг рд╡реЙрд▓реНрдЯ рд╕реЗ рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ рдФрд░ рдЬрдм рддреИрдирд╛рддреА рдХрд╛ рд╕рдордп рдЖрддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рд╣реЗрд▓реНрдо рдореЗрдВ рдбрд╛рд▓реЗрдВред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рддрд┐рдЬреЛрд░реА рдореЗрдВ рдФрд░ рд╣рдорд╛рд░реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рд▓реЗ рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рдмреАрдЪ рдорд╛рдирдЪрд┐рддреНрд░рдг рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛:
secrets: - secret_id: "stack1-app1-password" contexts: - name: "default" vaultPath: "/kv/dev/stack1/app1/test" vaultKey: "password" - name: "cluster1" vaultPath: "/kv/dev/stack1/app1/test" vaultKey: "password"
- рд╣рдордиреЗ рдЙрди рд╕рд╛рдорд╛рдиреНрдп рдирд┐рдпрдореЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХреА рд╣реИ рдЬрд┐рдирдХрд╛ рдкрд╛рд▓рди рдЖрдкрдХреЛ рд╡реЙрд▓реНрдЯ рдкрд░ рд░рд╣рд╕реНрдп рд▓рд┐рдЦрддреЗ рд╕рдордп рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
- рдпрджрд┐ рд░рд╣рд╕реНрдп рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрджрд░реНрдн рдпрд╛ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ , рддреЛ рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред (рдпрд╣рд╛рдВ, рдЧреБрдкреНрдд рд╕реНрдЯреИрдХ-рдРрдк1-рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╕реНрдЯрд░ 1 рдХреЗ рд╕рдВрджрд░реНрдн рдХрд╛ рдЕрдкрдирд╛ рдореВрд▓реНрдп рд╣реИ)ред
- рдЕрдиреНрдпрдерд╛, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдЗрд╕ рд╕реВрдЪреА рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЖрдЗрдЯрдо рдХреЗ рд▓рд┐рдП, рдПрдХ рдХреБрдВрдЬреА-рдореВрд▓реНрдп рдЬреЛрдбрд╝реА рдХреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЧреБрдкреНрдд рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдЪрд╛рд░реНрдЯ рдореЗрдВ рдЧреБрдкреНрдд рдкреИрдЯрд░реНрди рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред
apiVersion: v1 data: {{- range $key,$value := .Values.secrets }} {{ $key }}: {{ $value | b64enc | quote }} {{ end }} kind: Secret metadata: name: "{{ .Chart.Name }}" labels: chartVersion: "{{ .Chart.Version }}" tillerVersion: "{{ .Capabilities.TillerVersion.SemVer }}" type: Opaque
рд╕рдорд╕реНрдпрд╛рдПрдВ рдФрд░ рд╕реАрдорд╛рдПрдБ
рдХрдИ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
рдЕрдм рд╣рдо рдЪрд╛рд░реНрдЯ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рджреЛ рдЧрд┐рдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ: рдПрдХ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП, рдФрд░ рджреВрд╕рд░рд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдЗрд╕рдХреА рддреИрдирд╛рддреА рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред 2 рдЧрд┐рдЯ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА 2 рд╡рд░реНрдХрдлрд╝реНрд▓реЛрдЬрд╝ рд╣реИрдВ рдФрд░ рдПрдХ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рднреНрд░рдорд┐рдд рд╣реЛрдирд╛ рдЖрд╕рд╛рди рд╣реИред
рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдЪрд╛рд░реНрдЯ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдирд╛ рдкрд░реЗрд╢рд╛рдиреА рднрд░рд╛ рд╣реИ
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛, рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдФрд░ рдХрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЗрдиреЗрд░рд┐рдХ рдЪрд╛рд░реНрдЯ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╣рдо рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдЪрд╛рд░реНрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣рд░ рдмрд╛рд░ рд╕рднреА --reuse-values
рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдирд┐рд░рдВрддрд░ рд╡рд┐рддрд░рдг рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рджреЛ рдорд╛рди рд╣реИрдВ рдЬреЛ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдмрджрд▓рддреЗ рд╣реИрдВ: рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЫрд╡рд┐ рдЯреИрдЧ (рд╕рдВрд╕реНрдХрд░рдг)ред рдЕрдиреНрдп, рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рдорд╛рди рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдмрд▓реНрдХрд┐ рдЬрдЯрд┐рд▓ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдЪрд╛рд░реНрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рдЧрд▓рддреА рд╕реЗ рдЧрдВрднреАрд░ рд╡рд┐рдлрд▓рддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рд╕реЗ рджреЗрдЦрд╛ рд╣реИред
рдПрдХрд╛рдзрд┐рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдирд╛
рдЬрдм рдХреЛрдИ рдбреЗрд╡рд▓рдкрд░ рдПрдХ рдирдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдХрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрджрд▓рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ: рдЖрд╡реЗрджрди рдХреА рдШреЛрд╖рдгрд╛, рд░рд╣рд╕реНрдпреЛрдВ рдХреА рд╕реВрдЪреА, рдЖрд╡реЗрджрди рдХреЛ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдЪрд╛рд░реНрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
рдЬреЗрдирдХрд┐рдиреНрд╕ рдХреА рдЕрдиреБрдорддрд┐ рднреА рд╡реЙрд▓реНрдЯ рдореЗрдВ рдмрдврд╝рд╛рдИ рдЧрдИ
рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ AppRole рд╣реИ рдЬреЛ рд╡реЙрд▓реНрдЯ рдХреЗ рд╕рднреА рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИред
рд░реЛрд▓рдмреИрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдирд╣реАрдВ рд╣реИ
рд╡рд╛рдкрд╕ рд░реЛрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрдИ рд╕рдореВрд╣реЛрдВ рдкрд░ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рднрд░рд╛ рд╣реИред рд╣рдо рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╕рд╣реА рд╕рдВрд╕реНрдХрд░рдг рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИред
рд╣рдо GitOps рдХреА рдУрд░ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВ
рд╣рдорд╛рд░рд╛ рд▓рдХреНрд╖реНрдп
рд╣рдо рдЙрд╕ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рднрдВрдбрд╛рд░ рдореЗрдВ рдЪрд╛рд░реНрдЯ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╡рд╣ рддреИрдирд╛рдд рдХрд░рддрд╛ рд╣реИред
рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реЛрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдПрдХ рд╢рд╛рдЦрд╛ рдХреЛ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рддреИрдирд╛рддреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧреАред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдФрд░ рд╡рд░реНрддрдорд╛рди рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЗ рдмреАрдЪ рдореБрдЦреНрдп рдЕрдВрддрд░ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рд╕рдм рдХреБрдЫ рдЧрд┐рдЯ (рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реНрд╡рдпрдВ рдФрд░ рдЗрд╕реЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдХреИрд╕реЗ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдП) рдореЗрдВ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдХрдИ рдлрд╛рдпрджреЗ рд╣реИрдВ:
- рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИред рд╕реНрдерд╛рдиреАрдп рдЪрд╛рд░реНрдЯ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕реАрдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИред
- рдПрдХ рд╕реЗрд╡рд╛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдкрд░рд┐рднрд╛рд╖рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдЬрд╣рд╛рдВ рд╕реЗрд╡рд╛ рдХреЛрдб рд╣реИ ред
- рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдЪрд╛рд░реНрдЯ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди ред рд╕реЗрд╡рд╛ рдХрд╛ рдЕрдкрдирд╛ рд╣реЗрд▓реНрдо рд░рд┐рд▓реАрдЬ рд╣реЛрдЧрд╛ред рдпрд╣ рдЖрдкрдХреЛ рдЫреЛрдЯреЗ рд╕реНрддрд░ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреАрд╡рди рдЪрдХреНрд░ (рд░реЛрд▓рдмреИрдХ, рдЕрдкрдЧреНрд░реЗрдб) рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рддрд╛рдХрд┐ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
- рдЪрд╛рд░реНрдЯ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рд▓рд╛рдн рд╣реИрдВ: рдкрд░рд┐рд╡рд░реНрддрди рдкреВрд░реНрд╡рд╡рдд рдХрд░рдирд╛, рдСрдбрд┐рдЯ рдЯреНрд░реЗрд▓, рдЖрджрд┐ред рдпрджрд┐ рдЖрдкрдХреЛ рдЪрд╛рд░реНрдЯ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЛ рдкреВрд░реНрд╡рд╡рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рдЧрд┐рдЯ рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рддреИрдирд╛рддреА рдЕрдкрдиреЗ рдЖрдк рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддреА рд╣реИред
- рдЖрдк Skaffold рдЬреИрд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд╡рд┐рдХрд╛рд╕ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЙрддреНрдкрд╛рджрди-рдЬреИрд╕реЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рджреЛ рдЪрд░рдг рдХрд╛ рдкреНрд░рд╡рд╛рд╕
рд╣рдорд╛рд░реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ 2 рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЗрд╕ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рджрд░реНрдж рд░рд╣рд┐рдд рдкреНрд░рд╡рд╛рд╕рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рд▓рдХреНрд╖реНрдп рдХреЗ рд░рд╛рд╕реНрддреЗ рдкрд░ рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рдЪрд░рдг рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдкрд╣рд▓рд╛ рдХрджрдо рд╕рд░рд▓ рд╣реИ:
- рд╣рдо рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди DailymotionRelease рдирд╛рдордХ рдПрдХ рд╣реА рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВред
apiVersion: "v1" kind: "DailymotionRelease" metadata: name: "app1.ns1" environment: "dev" branch: "mybranch" spec: slack_channel: "#admin" chart_name: "app1" scaling: - context: "dev-us-central1-0" replicas: - name: "hermes" count: 2 - context: "dev-europe-west1-0" replicas: - name: "app1-deploy" count: 2 secrets: - secret_id: "app1" contexts: - name: "default" vaultPath: "/kv/dev/ns1/app1/test" vaultKey: "password" - name: "dev-europe-west1-0" vaultPath: "/kv/dev/ns1/app1/test" vaultKey: "password"
- 1 рдкреНрд░рддрд┐ рдЖрд╡реЗрджрди (рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдЪрд╛рд░реНрдЯ рдХреЗ рдмрд┐рдирд╛)ред
- рдЧрд┐рдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЪрд╛рд░реНрдЯред
рд╣рдордиреЗ рд╕рднреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╕рд╛рде рдмрд╛рдд рдХреА, рдЗрд╕рд▓рд┐рдП рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рд╣реЛ рдЪреБрдХреА рд╣реИред рдкрд╣рд▓рд╛ рдЪрд░рдг рдЕрднреА рднреА рд╕реАрдЖрдИ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрд▓реНрдж рд╣реА рдореИрдВ рджреВрд╕рд░реЗ рдЪрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдФрд░ рдкреЛрд╕реНрдЯ рд▓рд┐рдЦреВрдВрдЧрд╛: рд╣рдордиреЗ рдлреНрд▓рдХреНрд╕ рдХреЗ рд╕рд╛рде GitOps рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдкрд░ рдХреИрд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ред рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рд╕рднреА рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рдореЗрдВ рдХрд┐рди рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ (рдХрдИ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА, рд░рд╣рд╕реНрдп, рдЖрджрд┐)ред рдЦрдмрд░ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ
рдпрд╣рд╛рдВ, рд╣рдордиреЗ рд╣рд╛рд▓ рдХреЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ рдЕрдкрдиреА рдкреНрд░рдЧрддрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг GitOps рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдЖрдпрд╛ред рд╣рдо рд▓рдХреНрд╖реНрдп рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдкрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЕрдм рд╣рдо рдЖрд╢реНрд╡рд╕реНрдд рд╣реИрдВ рдХрд┐ рд╣рдордиреЗ рдпрд╣ рд╕рд╣реА рдХрд┐рдпрд╛ рдЬрдм рд╣рдордиреЗ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рдЖрджрддреЛрдВ рдХреЗ рдХрд░реАрдм рд▓рд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред