
рдбреЗрдврд╝ рд╕рд╛рд▓ рдкрд╣рд▓реЗ, 5 рдорд╛рд░реНрдЪ, 2018 рдХреЛ, Google рдиреЗ рдЕрдкрдиреЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдкрд╣рд▓рд╛ рдЕрд▓реНрдлрд╝рд╛ рд╕рдВрд╕реНрдХрд░рдг CI / CD рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд┐рд╕реЗ
рд╕реНрдХреЗрдлреЛрд▓реНрдб рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд▓рдХреНрд╖реНрдп "рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдФрд░ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╡рд┐рдХрд╛рд╕" рдмрдирд╛рдирд╛ рдерд╛ рддрд╛рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╡рд┐рдХрд╛рд╕ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд╕рдХреЗрдВ, рдФрд░ рдкреНрд░рд╢рд╛рд╕рди рдкрд░ рдирд╣реАрдВред рд╕реНрдХреЗрдлреЛрд▓реНрдб рдХреЗ рд▓рд┐рдП рдмреНрдпрд╛рдЬ рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рдЙрд╕рдХреА рдЖрд╕реНрддреАрди рдореЗрдВ рдХреБрдЫ рдЯреНрд░рдореНрдк рдХрд╛рд░реНрдб рд╣реИрдВ, рдЬрд┐рд╕рдХреА рдмрджреМрд▓рдд рд╡рд╣ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╢рд╛рдпрдж рдПрдХ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдЗрдВрдЬреАрдирд┐рдпрд░ред рд╣рдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдФрд░ рдЗрд╕рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдВрдЧреЗред
рдирд╛рдпрдм : рд╡реИрд╕реЗ, рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЯреВрд▓ рдХреЗ рд╣рдорд╛рд░реЗ рд╕рд╛рдорд╛рдиреНрдп рдЕрд╡рд▓реЛрдХрди рдореЗрдВ рд╕реНрдХреЗрдлреЛрд▓реНрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрд╛рдд рдХреА рдереА, рдЬрд┐рд╕рдХрд╛ рдЬреАрд╡рди рдХреБрдмреЗрд░рдиреЗрд╕реЗрд╕ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИредрд╕рд┐рджреНрдзрд╛рдВрддред рдЙрджреНрджреЗрд╢реНрдп рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдПрдБ
рдЗрд╕рд▓рд┐рдП, рдЖрдо рддреМрд░ рдкрд░ рдмреЛрд▓рддреЗ рд╣реБрдП, рд╕реНрдХреЗрдлреЛрд▓реНрдб рд╕реАрдЖрдИ / рд╕реАрдбреА рдЪрдХреНрд░ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдмрдирд╛рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ (рдирд┐рд░реНрдорд╛рдг, рдзрдХреНрдХрд╛, рддреИрдирд╛рдд рдХреЗ рдЪрд░рдгреЛрдВ рдореЗрдВ), рдбреЗрд╡рд▓рдкрд░ рд╢реАрдШреНрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдПрдХ рдЕрджреНрдпрддрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдЧрд▓реЗ рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдЬрд▓реНрджреА рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рдФрд░ рдпрд╣ рд╡рд┐рднрд┐рдиреНрди рдЖрдХреГрддрд┐ (рджреЗрд╡, рдордВрдЪ, рдЙрддреНрдкрд╛рджрди ...) рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╕реНрдХреЗрдлреЛрд▓реНрдб рд░реЛрд▓-рдЖрдЙрдЯ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред
Skaffold рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдЧреЛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдореБрдлреНрдд Apache рд▓рд╛рдЗрд╕реЗрдВрд╕ 2.0 (
GitHub ) рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдореБрдЦреНрдп рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдкрд╣рд▓реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- Skaffold CI / CD рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
- рдЖрдкрдХреЛ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдФрд░ рдХрдВрдЯреЗрдирд░ рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рдХреЛрдб рдмрдирд╛рдиреЗ рдХреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЗрди рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдбреЛрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдХреЗ рдЙрдиреНрд╣реЗрдВ рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рднрдВрдбрд╛рд░ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реИред
- рдХрдВрдЯреЗрдирд░-рд╕рдВрд░рдЪрдирд╛-рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкрд░реАрдХреНрд╖рдгред
- рдЖрдЧреЗ рдХреА рдУрд░ рдмрдВрджрд░рдЧрд╛рд╣ред
- рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓реЙрдЧ рдкрдврд╝рддрд╛ рд╣реИред
- Java, Node.js, Python, Go рдореЗрдВ рд▓рд┐рдЦреЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред
рдЕрдм рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ:
- рд╕реНрдХреЗрдлреЛрд▓реНрдб рдореЗрдВ рд╣реА рдХреНрд▓рд╕реНрдЯрд░-рд╕рд╛рдЗрдб рдШрдЯрдХ рдирд╣реАрдВ рд╣реИрдВ ред рдпрд╣реА рд╣реИ, рдЖрдкрдХреЛ рдЗрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдмреЗрд░рдиреЗрдЯ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
- рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рдкрд╛рдЗрдкрд▓рд╛рдЗрди ред рдЬрдм рдЖрдк рд╡рд┐рдХрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рдФрд░ рддрдм рдордВрдЪ рдпрд╛ рдЙрддреНрдкрд╛рджрди рдкрд░ рд╕реНрдерд╛рдиреАрдп рдорд┐рдирд┐рдХреНрдпреВрдм рдореЗрдВ рдХреЛрдб рдХреЛ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ? рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдФрд░ рдЭрдВрдбреЗ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
- CLIред YAML рдореЗрдВ рдХреЗрд╡рд▓ рдХрдВрд╕реЛрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдиред рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЖрдк рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдЬреАрдпреВрдЖрдИ рдмрдирд╛рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд▓рд╣рд╛рд▓ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдХреЗрд╡рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВред
- рдкреНрд░рддрд┐рд░реВрдкрдХрддрд╛ ред рд╕реНрдХреЗрдлреЛрд▓реНрдб рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рд╕рдВрдпреЛрдЬрди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рдореЙрдбреНрдпреВрд▓ рдпрд╛ рдореМрдЬреВрджрд╛ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред
рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХрд╛ рдЪрд┐рддреНрд░рдг:
- рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдЪрд░рдг рдореЗрдВ, рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- docker рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ, kaniko рдпрд╛ Google рдХреНрд▓рд╛рдЙрдб рдмрд┐рд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ;
- рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдмрд╛рдЬрд╝рд▓;
- Jib Maven рдФрд░ Jib Gradle рд╕реНрдерд╛рдиреАрдп рдпрд╛ Google рдХреНрд▓рд╛рдЙрдб рдмрд┐рд▓реНрдб рдкрд░;
- рдХрд╕реНрдЯрдо рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЪрд▓рддреА рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ (рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ / рдкрд░рд┐рдЪрд┐рдд / ...) рд╕рдорд╛рдзрд╛рди рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рд╕реНрдХреЗрдлреЛрд▓реНрдб рдЗрд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реИ ( рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рдЙрджрд╛рд╣рд░рдг )ред рдпрд╣ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдХрд▓реЗрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;
- рдкрд░реАрдХреНрд╖рдг рдЪрд░рдг рдореЗрдВ, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХрдВрдЯреЗрдирд░-рд╕рдВрд░рдЪрдирд╛-рдкрд░реАрдХреНрд╖рдг рд╕рдорд░реНрдерд┐рдд рд╣реИ;
- рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИрдВ:
- Kubectl;
- рдкрддрд╡рд╛рд░;
- kustomizeред
рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╕реНрдХреЗрдлреЛрд▓реНрдб рдХреЛ
CI / CD рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛
рдврд╛рдВрдЪрд╛ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ (рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рд▓реЗрдЦрди рд╕реЗ):

рд╕реНрдХреЗрдлреЛрд▓реНрдб рдХрд╛ рдХрд╛рд░реНрдп рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рдореЗрдВ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ?
- рдпреВрдЯрд┐рд▓рд┐рдЯреА рдореЙрдирд┐рдЯрд░ рд╕реЛрд░реНрд╕ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рд╕рдВрд╢реЛрдзрди рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреЙрдб рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ, рддреЛ рдЫрд╡рд┐ рдХреЛ рдлрд┐рд░ рд╕реЗ рджреЗрдЦреЗ рдмрд┐рдирд╛ред рдЕрдиреНрдпрдерд╛, рдПрдХ рдирдИ рдЫрд╡рд┐ рдмрдирдиреЗ рдЬрд╛ рд░рд╣реА рд╣реИред
- рдЗрдХрдЯреНрдареЗ рдХреА рдЧрдИ рдЫрд╡рд┐ рдХреЛ рдХрдВрдЯреЗрдирд░-рд╕рдВрд░рдЪрдирд╛-рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╛рдВрдЪрд╛ рдЧрдпрд╛ рд╣реИ, рдЯреИрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдбреЙрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреЛ рднреЗрдЬрд╛ рдЧрдпрд╛ рд╣реИред
- рдЙрд╕рдХреЗ рдмрд╛рдж, рдЫрд╡рд┐ рдХреЛ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЗрд╕реЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдпрджрд┐ рд▓реЙрдиреНрдЪ рдХреЛ
skaffold dev
рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд░рдВрдн рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рд▓реЙрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕реНрдХреЗрдлреЛрд▓реНрдб рдХреЛ рд╕рднреА рдЪрд░рдгреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рджреЛрд╣рд░рд╛рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИред
рд╕реНрдХреЗрдлреЛрд▓реНрдб рдореАрд▓ рдХреЗ рдкрддреНрдерд░ рдХрд╛ рдЪрд┐рддреНрд░рдгрдЕрднреНрдпрд╛рд╕ред рд╕реНрдХреЗрдлреЛрд▓реНрдб рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ
рд╕реНрдХреЗрдлреЛрд▓реНрдб рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ
рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ
GitHub рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд▓реВрдВрдЧрд╛ред рд╡реИрд╕реЗ,
рдЖрдкрдХреЛ рдХрдИ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВред рд╕рднреА рдХреНрд░рд┐рдпрд╛рдПрдВ рдорд┐рдирд┐рдХреНрдпреВрдм рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХреА рдЬрд╛рдПрдВрдЧреАред рд╕реНрдерд╛рдкрдирд╛ рд╕рд░рд▓ рд╣реИ рдФрд░ рдХреБрдЫ рдорд┐рдирдЯ рд▓рдЧрддреЗ рд╣реИрдВ, рдФрд░ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП kubectl рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рд╕реНрдХреЗрдлреЛрд▓реНрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64 chmod +x skaffold sudo mv skaffold /usr/local/bin skaffold version v0.37.1
рдЪрд▓реЛ рдЖрд╡рд╢реНрдпрдХ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдХреЛрдлреЛрд▓реНрдб рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХреНрд▓реЛрди рдХрд░рддреЗ рд╣реИрдВ:
git clone https://github.com/GoogleContainerTools/skaffold cd skaffold/examples/microservices
рдореИрдВрдиреЗ рджреЛ рдкреЙрдбреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЪреБрдирд╛, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдЧреЛ рдкрд░ рдПрдХ рдЫреЛрдЯрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИред рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлреНрд░рдВрдЯрдПрдВрдб (рд▓реЗрд░реЙрдп-рд╡реЗрдм) рд╣реИ, рджреВрд╕рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдЕрдиреБрд░реЛрдз рдмреИрдХрдПрдВрдб (рд▓реЗрд░реЙрдп-рдРрдк) рд╣реИред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
~/skaffold/examples/microservices
рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рдЗрд╕ рдХреЛрдб рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП leeroy-app рдФрд░ leeroy-web рдореЗрдВ рдЧреЛ рдХреЛрдб рдФрд░ рд╕рд░рд▓ рдбреЙрдХрдлрд╛рдЗрд▓реНрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
~/skaffold/examples/microservices
рдореИрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдирд╣реАрдВ рджреВрдВрдЧрд╛ - рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐
leeroy-web
рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ
leeroy-app
рд▓рд┐рдП рдкреНрд░реЙрдХреНрд╕реА рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП,
Deployment.yaml
рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХреЗрд╡рд▓
app
(рдЖрдВрддрд░рд┐рдХ рд░реВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП) рд╕реЗрд╡рд╛ рд╣реИред рдЖрд╡реЗрджрди рдХреЗ рддреНрд╡рд░рд┐рдд рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП
web
рдкреЙрдб рдкреЛрд░реНрдЯ рдХреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред
рдХреНрдпрд╛
skaffold.yaml
рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛
skaffold.yaml
:
~/skaffold/examples/microservices # cat skaffold.yaml apiVersion: skaffold/v1beta13 kind: Config build: artifacts: - image: leeroy-web context: ./leeroy-web/ - image: leeroy-app context: ./leeroy-app/ deploy: kubectl: manifests: - ./leeroy-web/kubernetes/* - ./leeroy-app/kubernetes/* portForward: - resourceType: deployment resourceName: leeroy-web port: 8080 localPort: 9000
рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╕рднреА рдЪрд░рдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдпрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реИрд╢реНрд╡рд┐рдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рднреА рд╣реИ -
~/.skaffold/config
ред рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдпрд╛ CLI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:
skaffold config set --global local-cluster true
рдпрд╣ рдЖрджреЗрд╢
local-cluster
рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЛ
true
рд╕реЗрдЯ рдХрд░рддрд╛
true
, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╕реНрдХреЗрдлреЛрд▓реНрдб рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рджреВрд░рд╕реНрде рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ 'рдкреБрд╢' рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдЖрдк рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рднреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд╛рдкрд╕
skaffold.yaml
:
build
рд╕реНрдЯреЗрдЬ рдкрд░, рд╣рдо рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЫрд╡рд┐ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдФрд░ рд╕рд╣реЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкрд╣рд▓реА рдмрд╛рд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЗрдЦреЗрдВрдЧреЗ:
// .. Minikube , // ,
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕реНрдХреЗрдлреЛрд▓реНрдб рдиреЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред рд╡реИрд╕реЗ, рдХрдИ рдЯреИрдЧрд┐рдВрдЧ рдиреАрддрд┐рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред- рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд
context: ./leeroy-app/
рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ context: ./leeroy-app/
, i.e. рд╡рд╣ рд╕рдВрджрд░реНрдн рдЬрд┐рд╕рдореЗрдВ рдЫрд╡рд┐ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред - рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдЪрд░рдг рдореЗрдВ, рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╡рд╛рдВрдЫрд┐рдд рдШреЛрд╖рдгрд╛рдкрддреНрд░ рдХреЗ рд▓рд┐рдП рдХреБрдмреЗрдХреЗрд▓ рдФрд░ рдПрдХ рдореБрдЦреМрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
PortForward
: kubectl port-forward
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╣рдо рдЖрдорддреМрд░ рдкрд░ рдкреЛрд░реНрдЯ рдХреЛ рдХреИрд╕реЗ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рддреЗ kubectl port-forward
, рдЗрд╕рдХреЗ рд╕рдорд╛рди, рд╣рдо рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреЗрдлреЛрд▓реНрдб рдирд┐рд░реНрджреЗрд╢ рджреЗрддреЗ рд╣реИрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕реНрдерд╛рдиреАрдп рдкреЛрд░реНрдЯ 9000 рдХреЛ leeroy-web
рдирд╛рдо рдХреЗ рд╕рд╛рде рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдореЗрдВ 8080 рдкрд░ рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣
skaffold dev
рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ: рдЯреАрдо рдПрдХ "рдлреАрдбрдмреИрдХ рд▓реВрдк" рдмрдирд╛рдПрдЧреА, рдпрд╛рдиреАред рди рдХреЗрд╡рд▓ рд╕рдм рдХреБрдЫ рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕ рд╕рдордп рдлрд▓реА рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрддрд╛рддрд╛ рд╣реИ, рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдЧрд╛ рдФрд░ рдлрд▓реА рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдЧрд╛ред
рдпрд╣рд╛рдБ
skaffold dev --port-forward
рдЬрдм
skaffold dev --port-forward
рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ:

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЕрдЧрд▓рд╛ - рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ --рдкреЛрд░реНрдЯ
--port-forward
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ, рд╕реНрдХреЗрдлреЛрд▓реНрдб рдиреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рдЕрдиреБрд╕рд╛рд░
web
рдХреЛ рдкреЛрд░реНрдЯ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдиреЗ рд╡рд┐рд╡реЗрдХ рдкрд░
app
рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ (рдЙрдиреНрд╣реЛрдВрдиреЗ рдирд┐рдХрдЯрддрдо рдореБрдХреНрдд рдХреЛ рдЪреБрдирд╛)ред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рд╕реЗ рдкрд╣рд▓реЗ рд▓реЙрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред
рдкреНрд░рджрд░реНрд╢рди рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ?
~/skaffold/examples/microservices
leeroy-app/app.go
рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ - рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╕реЗрдХрдВрдб рд▓рдЧрддреЗ рд╣реИрдВ ... рдФрд░:
~/skaffold/examples/microservices
рдЙрд╕реА рд╕рдордп, рд╕реНрдХреЗрдлреЛрд▓реНрдб рдиреЗ рдЦреБрдж рдХреЛ рдПрдХ рдмрд┐рдВрджреБ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рд╣реА рдХрдВрд╕реЛрд▓ рдкрд░ рд▓рд╛рдпрд╛: рдпрд╣ рдХреЗрд╡рд▓
leeroy-app
рдХреЛ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд┐рдпрд╛, рдФрд░ рд╕рднреА рдХреЛ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдирд╣реАрдВред
рдЕрдзрд┐рдХ рдЕрднреНрдпрд╛рд╕
рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╕рдордп, рд╕реНрдХреЗрдлреЛрд▓реНрдб рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
init
рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдХрдИ рдХреЙрдиреНрдлрд┐рдЧрд░ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ: рдбрд┐рдлреЙрд▓реНрдЯ рдХреЙрдиреНрдлрд┐рдЧрд░ рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░
run
рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╕реНрдЯреЗрдЬ рдкрд░ рд░реЛрд▓ рдХрд░рддреЗ рд╣реИрдВ (рдПрдХ рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛
dev
рд░реВрдк рдореЗрдВ, рдмрд╕ рдмрджрд▓рд╛рд╡реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ), рдПрдХ рдЕрд▓рдЧ рдХреЙрдиреНрдлрд┐рдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред
рдХреИрдЯрд╛рдХреЛрдбрд╛ рдореЗрдВ рдПрдХ
рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╣реИ рдЬреЛ рд╕рд░рд▓ рднреА рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ Kubernetes, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рд╕реНрдХреЗрдлреЛрд▓реНрдб рдХреЗ рд╕рд╛рде рддреИрдпрд╛рд░ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рджрдо рдкрд░ рдмрд╣реБрдд рдореВрд▓ рдмрд╛рддреЗрдВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдПрдХ рдмрдврд╝рд┐рдпрд╛ рд╡рд┐рдХрд▓реНрдкред
рд╕реНрдХреИрдлреЛрд▓реНрдб рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рджреВрд░рд╕реНрде рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдирд╛ рд╣реИред рд╣рд░ рдХреЛрдИ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдорд┐рдирд┐рдХреНрдпреВрдм рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рд╣рдЬ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЖрд╡реЗрджрди рдХреЛ рдмрд╛рд╣рд░ рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдкрд░реНрдпрд╛рдкреНрдд рдХрд╛рдордХрд╛рдЬ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ ... рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реНрдХреЗрдлреЛрд▓реНрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рд░реНрдп рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Reddit рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рджреНрд╡рд╛рд░рд╛, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдкрдиреЗ рдмреНрд▓реЙрдЧ рдкрд░ рдЬрд╛рдирддреЗ рд╣реИрдВред
рдФрд░ рдмреБрдирдХрд░реЛрдВ рдХреЗ
рдЗрд╕ рдкреНрд░рдХрд╛рд╢рди рдореЗрдВ рдЖрдк рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдирд┐рд╖реНрдХрд░реНрд╖
рд╕реНрдХреЗрдлреЛрд▓реНрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ рдФрд░ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХреА рдЬрд░реВрд░рддреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рде, "рд╢реЙрд░реНрдЯ" рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ рдЬреЛ рдбреЗрд╡рд▓рдкрд░ рдХреА рдмреБрдирд┐рдпрд╛рджреА рдЬрд░реВрд░рддреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк рдмрдбрд╝реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред CI / CD рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рд╕реНрдХреЗрдлреЛрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ
рд╕реЗ рдПрдХ 10 рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдХреА рдПрдХ
рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдЬреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕, рдЬреАрдЖрд░рдкреАрд╕реА, рдЗрд╕реНрддрд┐рдпреЛ рдФрд░ рдУрдкрдирд╕рд╛рдЗрдирд╕ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред
рд╕реНрдХреЗрдлреЛрд▓реНрдб рдХреЛ рдкрд╣рд▓реЗ рд╣реА рд▓рдЧрднрдЧ 8000+ рд╕реНрдЯрд╛рд░ рдорд┐рд▓ рдЪреБрдХреЗ рд╣реИрдВ GitHub, Google рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░
GoogleContainerTools рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ - рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЗрд╕ рд╕рдордп рдпрд╣ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рд╣рд░ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрднреА рднреА рдЦреБрд╢реА рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдЧреАред
рдкреБрдирд╢реНрдЪ
рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдореЗрдВ рднреА рдкрдврд╝реЗрдВ: