рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд╕рд╛рдареА рдСрдкрд░реЗрдЯрд░: рд╕реНрдЯреЗрдЯрдлреБрд▓ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдХрд╕реЗ рдЪрд╛рд▓рд╡рд╛рдпрдЪреЗ

Kubernetes рдордзреНрдпреЗ рд╕реНрдЯреЗрдЯрдлреБрд▓ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдЪреА рд╕рдорд╕реНрдпрд╛

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

рд╕реЛрдкреНрдпрд╛ рднрд╛рд╖реЗрдд рд╕рд╛рдВрдЧрд╛рдпрдЪреЗ рддрд░, рдХрдВрдЯреЗрдирд░рдЪреНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ PHP/Ruby/Python рдордзреНрдпреЗ рдмреЕрдХрдПрдВрдбрдЪреНрдпрд╛ рдЖрдгрдЦреА рдкрд╛рдЪ рдкреНрд░рддреА рд▓рд╛рдБрдЪ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд 5 рд╡реЗрд│рд╛ рдирд╡реАрди рд╕рд░реНрд╡реНрд╣рд░ рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрдгрд┐ рд╕реНрддреНрд░реЛрдд рдХреЙрдкреА рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╕реЛрд░реНрд╕ рдХреЛрдб рдЖрдгрд┐ рдЗрдирд┐рдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреЛрдиреНрд╣реА рдЗрдореЗрдЬрдордзреНрдпреЗ рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдХреЗрд▓ рдХрд░рдгреЗ рдкреВрд░реНрдгрдкрдгреЗ рдкреНрд░рд╛рдердорд┐рдХ рдмрдирддреЗ. рдХрдВрдЯреЗрдирд░ рдЖрдгрд┐ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдЪреНрдпрд╛ рдЪрд╛рд╣рддреНрдпрд╛рдВрдирд╛ рдЪрд╛рдВрдЧрд▓реЗ рдорд╛рд╣рд┐рдд рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдЕрдбрдЪрдг рд╕реБрд░реВ рд╣реЛрддреЗ рд╕реНрдЯреЗрдЯрдлреБрд▓ рдЕреЕрдкреНрд╕, рдореНрд╣рдгрдЬреЗ рдбрд╛рдЯрд╛рдмреЗрд╕ рдЖрдгрд┐ рдХреЕрд╢реЗ (MySQL, PostgreSQL, Redis, ElasticSearch, Cassandra...) рд╕рд╛рд░рдЦреНрдпрд╛ рдбреЗрдЯрд╛ рдЪрд┐рдХрд╛рдЯреАрд╕рд╣. рд╣реЗ рджреЛрдиреНрд╣реА рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░рд╡рд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рдЬреЗ рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рдХреЛрд░рдо рдХреНрд▓рд╕реНрдЯрд░ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, Percona XtraDB рдЖрдгрд┐ Cassandra) рд▓рд╛рдЧреВ рдХрд░рддрд╛рдд рдЖрдгрд┐ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдЬреНрдпрд╛рдВрдирд╛ рд╕реНрд╡рддрдВрддреНрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЙрдкрдпреБрдХреНрддрддрд╛ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗрдд (рдЬрд╕реЗ рдХреА Redis, MySQL, PostgreSQL...).

рдЕрдбрдЪрдгреА рдЙрджреНрднрд╡рддрд╛рдд рдХрд╛рд░рдг рд╕реНрддреНрд░реЛрдд рдХреЛрдб рдЖрдгрд┐ рд╕реЗрд╡рд╛ рд▓рд╛рдБрдЪ рдХрд░рдгреЗ рдпрд╛рдкреБрдвреЗ рдкреБрд░реЗрд╕реЗ рдирд╛рд╣реА - рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрдгрдЦреА рдХрд╛рд╣реА рдЪрд░рдгреЗ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдХрдореАрддрдХрдореА, рдбреЗрдЯрд╛ рдХреЙрдкреА рдХрд░рд╛ рдЖрдгрд┐/рдХрд┐рдВрд╡рд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рд╕рд╛рдореАрд▓ рд╡реНрд╣рд╛. рдЕрдзрд┐рдХ рддрдВрддреЛрддрдВрдд, рдпрд╛ рд╕реЗрд╡рд╛рдВрдирд╛ рдбреЗрдЯрд╛ рдЧрдорд╛рд╡рд▓реНрдпрд╛рд╢рд┐рд╡рд╛рдп рдХрд┐рдВрд╡рд╛ рддрд╛рддреНрдкреБрд░рддреНрдпрд╛ рдЕрдиреБрдкрд▓рдмреНрдзрддреЗрд╢рд┐рд╡рд╛рдп рддреНрдпрд╛рдВрдирд╛ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдХрд╕реЗ рдореЛрдЬрд╛рдпрдЪреЗ, рдЕрджреНрдпрддрдирд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рдкреБрдиреНрд╣рд╛ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд╕реЗ рдХрд░рд╛рдпрдЪреЗ рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдпрд╛ рдЧрд░рдЬрд╛ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрдгреЗ рдпрд╛рд▓рд╛ "рдСрдкрд░реЗрд╢рдирд▓ рдиреЙрд▓реЗрдЬ" рдореНрд╣рдгрддрд╛рдд.

CoreOS рдСрдкрд░реЗрдЯрд░

рдСрдкрд░реЗрд╢рдирд▓ рдЬреНрдЮрд╛рди "рдХрд╛рд░реНрдпрдХреНрд░рдо" рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЧреЗрд▓реНрдпрд╛ рд╡рд░реНрд╖реА рдЙрд╢реАрд░рд╛ CoreOS рдкреНрд░рдХрд▓реНрдк рдУрд│рдЦ рдХрд░реВрди рджрд┐рд▓реА рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА "рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░рдЪрд╛ рдПрдХ рдирд╡реАрди рд╡рд░реНрдЧ" - рдСрдкрд░реЗрдЯрд░ (рдЗрдВрдЧреНрд░рдЬреА "рдСрдкрд░реЗрд╢рди" рдордзреВрди, рдореНрд╣рдгрдЬреЗ "рдСрдкрд░реЗрд╢рди").

Kubernetes рдЪреНрдпрд╛ рдореВрд│ рдХреНрд╖рдорддрд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдЖрдгрд┐ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдгрд╛рд░реЗ рдСрдкрд░реЗрдЯрд░ (рдЗрдирдХреНрд▓. рд╕реНрдЯреЗрдЯрдлреБрд▓ рд╕реЗрдЯ, рдЦрд╛рд▓реА рдлрд░рдХ рдкрд╣рд╛) DevOps рддрдЬреНрдЮрд╛рдВрдирд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдбрдордзреНрдпреЗ рдСрдкрд░реЗрд╢рдирд▓ рдЬреНрдЮрд╛рди рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдЕрдиреБрдорддреА рджреНрдпрд╛.

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

рдСрдкрд░реЗрдЯрд░ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд

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

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

рддреНрдпрд╛рдореБрд│реЗ рд╣реЗ рд╕рд░реНрд╡ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ? рдСрдкрд░реЗрдЯрд░ рдПрдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдбрд┐рдорди рдЖрд╣реЗ рдЬреЛ:

  1. Kubernetes рдордзреАрд▓ рдЗрд╡реНрд╣реЗрдВрдЯ API рдЪреЗ рд╕рджрд╕реНрдпрддреНрд╡ рдШреЗрддреЗ;
  2. рддреНрдпрд╛рддреВрди рд╕рд┐рд╕реНрдЯрдордмрджреНрджрд▓ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЛ (рддреНрдпрд╛рдмрджреНрджрд▓ рдкреНрд░рддрд┐рдХреГрддреА рд╕реЗрдЯ, рд╢реЗрдВрдЧрд╛, рд╕реЗрд╡рд╛ рдЖрдгрд┐ рдЕрд╕реЗрдЪ.);
  3. рдмрджреНрджрд▓ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЛ рддреГрддреАрдп рдкрдХреНрд╖ рд╕рдВрд╕рд╛рдзрдиреЗ (рдЦрд╛рд▓реАрд▓ рдЙрджрд╛рд╣рд░рдгреЗ рдкрд╣рд╛);
  4. рджреЗрдЦрд╛рд╡рд╛/рдмрджрд▓ рдпрд╛рд╡рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрддреЗ рддреГрддреАрдп рдкрдХреНрд╖ рд╕рдВрд╕рд╛рдзрдиреЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЖрдХрд╛рд░ рдмрджрд▓рдгреЗ, рдЖрд╡реГрддреНрддреА рдмрджрд▓рдгреЗ рдЗ.);
  5. рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рд╕реНрдерд┐рддреАрддреАрд▓ рдмрджрд▓рд╛рдВрд╡рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрддреЗ (рддреНрдпрд╛рдмрджреНрджрд▓ рдкреНрд░рддрд┐рдХреГрддреА рд╕реЗрдЯ, рд╢реЗрдВрдЧрд╛, рд╕реЗрд╡рд╛ рдЖрдгрд┐ рдЕрд╕реЗрдЪ.);
  6. рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрд╡рд╛рдЪреЗ:
    1. рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдпрд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реА рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЙрд▓ рдХрд░рддреЗ (рдкреБрдиреНрд╣рд╛, рд╕реНрд╡рддрдГрдЪреЗ рдкреНрд░рддрд┐рдХреГрддреА рд╕реЗрдЯ, рд╢реЗрдВрдЧрд╛, рд╕реЗрд╡рд╛...),
    2. рдХрд╛рд╣реА рдЬрд╛рджреВ рдХрд░рддреЗ (рд╕реЛрдкреЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА рд╡рд┐рдЪрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛ рдХреА рдСрдкрд░реЗрдЯрд░ рд╕реНрд╡рддрдГ рдкреЙрдбрдордзреНрдпреЗ рдЬрд╛рддреЛ рдЖрдгрд┐ рдХрдорд╛рдВрдб рдХреЙрд▓ рдХрд░рддреЛ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рд╕рд╛рдореАрд▓ рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА рдХрд┐рдВрд╡рд╛ рдЖрд╡реГрддреНрддреА рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛рдирд╛ рдбреЗрдЯрд╛ рдлреЙрд░рдореЕрдЯ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА).

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

рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдЖрдореНрд╣реА рдордзреНрдпреЗ рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рдирд╛рдорд╡рд┐рд╢реНрд╡реЗ рдЦреВрдг рдЧрд╛рд│рдХ: рдСрдкрд░реЗрдЯрд░, рдЖрдореНрд╣реА рддреНрдпрд╛рдд рднрд░ рдШрд╛рд▓реВ рд╢рдХрддреЛ рддреГрддреАрдп рдкрдХреНрд╖ рд╕рдВрд╕рд╛рдзрдиреЗ.

рдЗ.рдЪреЗ рдЙрджрд╛рд╣рд░рдг (рддрдкрд╢реАрд▓рд╛рдВрд╕рд╛рдареА рдЦрд╛рд▓реА рдкрд╣рд╛):

apiVersion: etcd.coreos.com/v1beta1
kind: Cluster
metadata:
  name: example-etcd-cluster
spec:
  size: 3
  version: 3.1.0

Elasticsearch рдЪреЗ рдЙрджрд╛рд╣рд░рдг:

apiVersion: enterprises.upmc.com/v1
kind: ElasticsearchCluster
metadata:
  name: example-es-cluster
spec:
  client-node-replicas: 3
  master-node-replicas: 2
  data-node-replicas: 3
  zones:
  - us-east-1c
  - us-east-1d
  - us-east-1e
  data-volume-size: 10Gi
  java-options: "-Xms1024m -Xmx1024m"
  snapshot:
    scheduler-enabled: true
    bucket-name: elasticsnapshots99
    cron-schedule: "@every 2m"
  storage:
    type: gp2
    storage-class-provisioner: kubernetes.io/aws-ebs

рдСрдкрд░реЗрдЯрд░рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХрддрд╛

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

  1. рд╕реНрдерд╛рдкрдирд╛ рд╕рд┐рдВрдЧрд▓ рджреНрд╡рд╛рд░реЗ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рддреИрдирд╛рдд рдХрд░рдгреЗ: kubectl create -f SOME_OPERATOR_URL/deployment.yaml - рдЖрдгрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд░рд┐рдпрд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА.
  2. Kubernetes рдордзреНрдпреЗ рдСрдкрд░реЗрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛рдирд╛, рдПрдХ рдирд╡реАрди рддреГрддреАрдп-рдкрдХреНрд╖ рдкреНрд░рдХрд╛рд░ рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рддреГрддреАрдпрдкрдХреНрд╖ рд╕рдВрд╕рд╛рдзрди). рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЙрджрд╛рд╣рд░рдгреЗ (рдХреНрд▓рд╕реНрдЯрд░ рдЙрджрд╛рд╣рд░рдгреЗ) рд▓рд╛рдБрдЪ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА (рдЖрд╡реГрддреНрддреНрдпрд╛ рдЕрджреНрдпрддрдирд┐рдд рдХрд░рдгреЗ, рдЖрдХрд╛рд░ рдмрджрд▓рдгреЗ рдЗ.), рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╣рд╛ рдкреНрд░рдХрд╛рд░ рд╡рд╛рдкрд░реЗрд▓.
  3. рдЬреЗрд╡реНрд╣рд╛ рд╢рдХреНрдп рдЕрд╕реЗрд▓ рддреЗрд╡реНрд╣рд╛, рдЖрдкрдг рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реЗ рдЖрджрд┐рдо рд╡рд╛рдкрд░рд╛рд╡реЗ, рдЬрд╕реЗ рдХреА рд╕реЗрд╡рд╛ ╨╕ рдкреНрд░рддрд┐рдХреГрддреА рд╕реЗрдЯрдЪрд╛рдВрдЧрд▓реЗ-рдЪрд╛рдЪрдгреА рдХреЗрд▓реЗрд▓рд╛ рдЖрдгрд┐ рд╕рдордЬрдгреНрдпрд╛рд╕рд╛рд░рдЦрд╛ рдХреЛрдб рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА.
  4. рдСрдкрд░реЗрдЯрд░реНрд╕рдЪреА рдмреЕрдХрд╡рд░реНрдб рд╕реБрд╕рдВрдЧрддрддрд╛ рдЖрдгрд┐ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдиреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреНрдпрд╛ рдЬреБрдиреНрдпрд╛ рдЖрд╡реГрддреНрддреНрдпрд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
  5. рдСрдкрд░реЗрдЯрд░ рдХрд╛рдвреВрди рдЯрд╛рдХрд▓реНрдпрд╛рд╕, рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдиреЗ рд╕реНрд╡рддрдГрдЪ рдмрджрд▓ рди рдХрд░рддрд╛ рдХрд╛рд░реНрдп рдХрд░рдгреЗ рд╕реБрд░реВ рдареЗрд╡рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ.
  6. рд╡рд╛рдкрд░рдХрд░реНрддреЗ рдЗрдЪреНрдЫрд┐рдд рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрд╡реГрддреНрддреА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЖрдгрд┐ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрд╡реГрддреНрддреА рдЕрджреНрдпрддрдиреЗ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЕрд╕рд╛рд╡реЗрдд. рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдЕрдкрдбреЗрдЯреНрд╕рдЪрд╛ рдЕрднрд╛рд╡ рд╣реЗ рдСрдкрд░реЗрд╢рдирд▓ рдЖрдгрд┐ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрддреНрд░реЛрдд рдЖрд╣реЗ, рдореНрд╣рдгреВрди рдСрдкрд░реЗрдЯрд░рдиреЗ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд рдорджрдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
  7. рдСрдкрд░реЗрдЯрд░рдЪреА рдЪрд╛рдЪрдгреА рдХреЕрдУрд╕ рдордВрдХреА рд╕рд╛рд░рдЦреНрдпрд╛ рд╕рд╛рдзрдирд╛рдиреЗ рдХреЗрд▓реА рдкрд╛рд╣рд┐рдЬреЗ, рдЬреЗ рдкреЙрдбреНрд╕, рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЖрдгрд┐ рдиреЗрдЯрд╡рд░реНрдХрдордзреАрд▓ рд╕рдВрднрд╛рд╡реНрдп рдЕрдкрдпрд╢ рдУрд│рдЦрддреЗ.

etcd рдСрдкрд░реЗрдЯрд░

рдСрдкрд░реЗрдЯрд░ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЙрджрд╛рд╣рд░рдг - etcd рдСрдкрд░реЗрдЯрд░, рддрдпрд╛рд░ рдпрд╛ рд╕рдВрдХрд▓реНрдкрдиреЗрдЪреНрдпрд╛ рдШреЛрд╖рдгреЗрдЪреНрдпрд╛ рджрд┐рд╡рд╢реА. рдХреЛрд░рдо рд░рд╛рдЦрдгреНрдпрд╛рдЪреА рдЧрд░рдЬ, рдХреНрд▓рд╕реНрдЯрд░ рд╕рджрд╕реНрдпрддреНрд╡ рдкреБрдиреНрд╣рд╛ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ, рдмреЕрдХрдЕрдк рддрдпрд╛рд░ рдХрд░рдгреЗ рдЗрддреНрдпрд╛рджреА рдХрд╛рд░рдгрд╛рдВрдореБрд│реЗ etcd рдХреНрд▓рд╕реНрдЯрд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЬрдЯрд┐рд▓ рдЕрд╕реВ рд╢рдХрддреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, etcd рдХреНрд▓рд╕реНрдЯрд░ рдореЕрдиреНрдпреБрдЕрд▓реА рд╕реНрдХреЗрд▓ рдХрд░рдгреЗ рдореНрд╣рдгрдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдирд╡реАрди рдХреНрд▓рд╕реНрдЯрд░ рд╕рджрд╕реНрдпрд╛рд╕рд╛рдареА DNS рдирд╛рд╡ рддрдпрд╛рд░ рдХрд░рдгреЗ, рдирд╡реАрди etcd рдЕрд╕реНрддрд┐рддреНрд╡ рд╕реБрд░реВ рдХрд░рдгреЗ рдЖрдгрд┐ рдирд╡реАрди рд╕рджрд╕реНрдпрд╛рдмрджреНрджрд▓ рдХреНрд▓рд╕реНрдЯрд░рд▓рд╛ рдЕрд▓рд░реНрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.etcdctl рд╕рджрд╕реНрдп рдЕреЕрдб). рдСрдкрд░реЗрдЯрд░рдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ рдлрдХреНрдд рдХреНрд▓рд╕реНрдЯрд░ рдЖрдХрд╛рд░ рдмрджрд▓рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реЗрд▓ - рдмрд╛рдХреА рд╕рд░реНрд╡ рдХрд╛рд╣реА рдЖрдкреЛрдЖрдк рд╣реЛрдИрд▓.

рдЖрдгрд┐ CoreOS рдордзреНрдпреЗ etcd рджреЗрдЦреАрд▓ рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛рдореБрд│реЗ, рддреНрдпрд╛рдЪрд╛ рдСрдкрд░реЗрдЯрд░ рдкреНрд░рдердо рджрд┐рд╕рдгреЗ рд╣реЗ рдЕрдЧрджреА рддрд░реНрдХрд╕рдВрдЧрдд рд╣реЛрддреЗ. рддреЛ рдХрд╕рд╛ рдХрд╛рдо рдХрд░рддреЛ? рдСрдкрд░реЗрдЯрд░ рд▓реЙрдЬрд┐рдХ рдЗ рддреАрди рдШрдЯрдХрд╛рдВрджреНрд╡рд╛рд░реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ:

  1. рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рд╛. рдСрдкрд░реЗрдЯрд░ Kubernetes API рд╡рд╛рдкрд░реВрди рдХреНрд▓рд╕реНрдЯрд░рдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрдЪреЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЛ.
  2. рд╡рд┐рд╢реНрд▓реЗрд╖рдг. рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддреА рдЖрдгрд┐ рдЗрдЪреНрдЫрд┐рдд (рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирджреНрд╡рд╛рд░реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд) рдпрд╛рдВрдЪреНрдпрд╛рддреАрд▓ рдлрд░рдХ рд╢реЛрдзрддреЛ.
  3. рдХреГрддреА. etcd рдЖрдгрд┐/рдХрд┐рдВрд╡рд╛ Kubernetes рд╕реЗрд╡рд╛ API рд╡рд╛рдкрд░реВрди рдЖрдврд│рд▓реЗрд▓реНрдпрд╛ рдлрд░рдХрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рддреЗ.

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд╕рд╛рдареА рдСрдкрд░реЗрдЯрд░: рд╕реНрдЯреЗрдЯрдлреБрд▓ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдХрд╕реЗ рдЪрд╛рд▓рд╡рд╛рдпрдЪреЗ

рд╣реЗ рддрд░реНрдХ рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдСрдкрд░реЗрдЯрд░рдордзреНрдпреЗ рдХрд╛рд░реНрдпреЗ рддрдпрд╛рд░ рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗрдд рддрдпрд╛рд░/рдирд╖реНрдЯ рдХрд░рд╛ (etcd рдХреНрд▓рд╕реНрдЯрд░ рд╕рджрд╕реНрдп рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрдгрд┐ рд╣рдЯрд╡рдгреЗ) рдЖрдгрд┐ рдЖрдХрд╛рд░ рдмрджрд▓рд╛ (рдХреНрд▓рд╕реНрдЯрд░ рд╕рджрд╕реНрдпрд╛рдВрдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдд рдмрджрд▓). Netflix рд╡рд░реВрди Chaos Monkey рдЪреНрдпрд╛ рдкреНрд░рддрд┐рдореЗрдд рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реА рдЙрдкрдпреБрдХреНрддрддрд╛ рд╡рд╛рдкрд░реВрди рддреНрдпрд╛рдЪреНрдпрд╛ рдСрдкрд░реЗрд╢рдирдЪреА рд╢реБрджреНрдзрддрд╛ рддрдкрд╛рд╕рд▓реА рдЧреЗрд▓реА, рдореНрд╣рдгрдЬреЗ. рдпрд╛рджреГрдЪреНрдЫрд┐рдХрдкрдгреЗ etcd рд╢реЗрдВрдЧрд╛ рдорд╛рд░рдгреЗ.

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

рдСрдкрд░реЗрдЯрд░рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреЗ рдХрд╕реЗ рджрд┐рд╕рддреЗ?

$ kubectl create -f https://coreos.com/operators/etcd/latest/deployment.yaml
$ kubectl create -f https://coreos.com/operators/etcd/latest/example-etcd-cluster.yaml
$ kubectl get pods
NAME                             READY     STATUS    RESTARTS   AGE
etcd-cluster-0000                1/1       Running   0          23s
etcd-cluster-0001                1/1       Running   0          16s
etcd-cluster-0002                1/1       Running   0          8s
etcd-cluster-backup-tool-rhygq   1/1       Running   0          18s

etcd рдСрдкрд░реЗрдЯрд░рдЪреА рд╕рдзреНрдпрд╛рдЪреА рд╕реНрдерд┐рддреА рд╣реА рдмреАрдЯрд╛ рдЖрд╡реГрддреНрддреА рдЖрд╣реЗ, рдЬреНрдпрд╛рд╕рд╛рдареА рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ 1.5.3+ рдЖрдгрд┐ etcd 3.0+ рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ. рд╕реНрддреНрд░реЛрдд рдХреЛрдб рдЖрдгрд┐ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг (рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╕реВрдЪрдирд╛рдВрд╕рд╣) рдпреЗрдереЗ рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗрдд GitHub.

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

рд╕реНрдерд┐рддреА рдЖрдгрд┐ рд╕рдВрднрд╛рд╡рдирд╛

Kubernetes рдСрдкрд░реЗрдЯрд░реНрд╕рдЪреНрдпрд╛ рдШреЛрд╖рдгреЗрд▓рд╛ 5 рдорд╣рд┐рдиреЗ рдЙрд▓рдЯрд▓реЗ рдЖрд╣реЗрдд. рдЕрдзрд┐рдХреГрдд CoreOS рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ (etcd рдЖрдгрд┐ Prometheus рд╕рд╛рдареА) рдЕрдЬреВрдирд╣реА рдлрдХреНрдд рджреЛрди рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗрдд. рджреЛрдиреНрд╣реА рдЕрджреНрдпрд╛рдк рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реНрдерд┐рд░ рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдкрд░реНрдпрдВрдд рдкреЛрд╣реЛрдЪрд▓реЗрд▓реЗ рдирд╛рд╣реАрдд, рдкрд░рдВрддреБ рдХрдорд┐рдЯ рджрд░рд░реЛрдЬ рдкрд╛рд│рд▓реЗ рдЬрд╛рддрд╛рдд.

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

рдлреЗрдмреНрд░реБрд╡рд╛рд░реА 2017 рдордзреНрдпреЗ рдмреНрд░реБрд╕реЗрд▓реНрд╕рдордзреНрдпреЗ рдЭрд╛рд▓реЗрд▓реНрдпрд╛ FOSDEM рдпрд╛ рд╕рд░реНрд╡рд╛рдд рдореЛрдареНрдпрд╛ рдпреБрд░реЛрдкрд┐рдпрди рдлреНрд░реА рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдХреЙрдиреНрдлрд░рдиреНрд╕рдордзреНрдпреЗ CoreOS рдордзреАрд▓ рдЬреЛрд╢ рд╡реБрдб рдпрд╛рдВрдиреА рдСрдкрд░реЗрдЯрд░реНрд╕рдЪреА рдШреЛрд╖рдгрд╛ рдХреЗрд▓реА. рдЕрд╣рд╡рд╛рд▓ (рд▓рд┐рдВрдХрд╡рд░ рдПрдХ рд╡реНрд╣рд┐рдбрд┐рдУ рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ!), рдЬреНрдпрд╛рдиреЗ рдпрд╛ рд╕рдВрдХрд▓реНрдкрдиреЗрдЪреНрдпрд╛ рд▓реЛрдХрдкреНрд░рд┐рдпрддреЗрдЪреНрдпрд╛ рд╡рд╛рдвреАрд╕ рд╡реНрдпрд╛рдкрдХ рдореБрдХреНрдд рд╕реНрд░реЛрдд рд╕рдореБрджрд╛рдпрд╛рдордзреНрдпреЗ рдпреЛрдЧрджрд╛рди рджрд┐рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ.

PS рд▓реЗрдЦрд╛рддреАрд▓ рддреБрдордЪреНрдпрд╛ рд╕реНрд╡рд╛рд░рд╕реНрдпрд╛рдмрджреНрджрд▓ рдзрдиреНрдпрд╡рд╛рдж! рдЖрдордЪреНрдпрд╛ рд╣рдмрдЪреА рд╕рджрд╕реНрдпрддрд╛ рдШреНрдпрд╛, рдЬреЗрдгреЗрдХрд░реВрди DevOps рдЖрдгрд┐ GNU/Linux рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдирд╛рд╡рд░ рдирд╡реАрди рд╕рд╛рд╣рд┐рддреНрдп рдЖрдгрд┐ рдкрд╛рдХрдХреГрддреА рдЪреБрдХреВ рдирдпреЗрдд - рдЖрдореНрд╣реА рддреНрдпрд╛рдВрдирд╛ рдирд┐рдпрдорд┐рддрдкрдгреЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реВ!

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

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