Kubernetes рдХреЛ рд▓рд╛рдЧреА рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ: рд╕реНрдЯреЗрдЯрдлреБрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдХрд╕рд░реА рдЪрд▓рд╛рдЙрдиреЗ

Kubernetes рдорд╛ рд╕реНрдЯреЗрдЯрдлреБрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрд╕рдБрдЧ рд╕рдорд╕реНрдпрд╛

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

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

рдХрдард┐рдирд╛рдЗрд╣рд░реВ рдЙрддреНрдкрдиреНрди рд╣реБрдиреНрдЫрдиреН рдХрд┐рдирднрдиреЗ рд╕реНрд░реЛрдд рдХреЛрдб рд░ рд╕реЗрд╡рд╛ рд╕реБрд░реВ рдЧрд░реНрди рдЕрдм рдкрд░реНрдпрд╛рдкреНрдд рдЫреИрди - рддрдкрд╛рдИрдВрд▓реЗ рдХреЗрд╣реА рдердк рдЪрд░рдгрд╣рд░реВ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдиреНрдпреВрдирддрдордорд╛, рдбрд╛рдЯрд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░/рд╡рд╛ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рд╕рд╛рдореЗрд▓ рд╣реБрдиреБрд╣реЛрд╕реНред рдердк рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛, рдпреА рд╕реЗрд╡рд╛рд╣рд░реВрд▓рд╛рдИ рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рд╡рд╛ рдЕрд╕реНрдерд╛рдпреА рдЕрдиреБрдкрд▓рдмреНрдзрддрд╛ рдмрд┐рдирд╛ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдХрд╕рд░реА рд╕рд╣реА рдорд╛рдкрди, рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рд░ рдкреБрди: рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреЗ рднрдиреНрдиреЗ рдмреБрдЭрд╛рдЗ рдЖрд╡рд╢реНрдпрдХ рдЫред рдпреА рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВрд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреЗрд░ "рд╕рдЮреНрдЪрд╛рд▓рдирд╛рддреНрдордХ рдЬреНрдЮрд╛рди" рднрдирд┐рдиреНрдЫред

CoreOS рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ

"рдХрд╛рд░реНрдпрдХреНрд░рдо" рдХреЛ рд▓рд╛рдЧреА рдкрд░рд┐рдЪрд╛рд▓рди рдЬреНрдЮрд╛рди, рдкрдЫрд┐рд▓реНрд▓реЛ рд╡рд░реНрд╖ CoreOS рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░рд┐рдЪрдп Kubernetes рдкреНрд▓реЗрдЯрдлрд░реНрдордХреЛ рд▓рд╛рдЧрд┐ "рд╕рдлреНрдЯрд╡реЗрдпрд░рдХреЛ рдирдпрд╛рдБ рд╡рд░реНрдЧ" - рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ (рдЕрдВрдЧреНрд░реЗрдЬреАрдмрд╛рдЯ "рдЕрдкрд░реЗрд╕рди", рдЕрд░реНрдерд╛рддреН "рдЕрдкрд░реЗрд╕рди")ред

Kubernetes рдХреЛ рдореВрд▓ рдХреНрд╖рдорддрд╛рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд░ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реНрдиреЗ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ (рд╕рд╣рд┐рддред рд╕реНрдЯреЗрдЯрдлреБрд▓ рд╕реЗрдЯрд╣рд░реВ, рддрд▓рдХреЛ рднрд┐рдиреНрдирддрд╛ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН) DevOps рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрд╣рд░реВрд▓рд╛рдИ рдЖрд╡реЗрджрди рдХреЛрдбрдорд╛ рдкрд░рд┐рдЪрд╛рд▓рди рдЬреНрдЮрд╛рди рдердкреНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреБрд╣реЛрд╕реНред

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

рдХрд╕рд░реА рдЕрдкрд░реЗрдЯрд░рд╣рд░реВрд▓реЗ рдХрд╛рдо рдЧрд░реНрдЫрдиреН

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

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

рд░ рддреНрдпрд╕реИрд▓реЗ, рдпреЛ рд╕рдмреИ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫ? рдЕрдкрд░реЗрдЯрд░ рдПрдХ рдкреНрд░рдмрдиреНрдзрдХ рдбреЗрдорди рд╣реЛ рдХрд┐:

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

Kubernetes рдХреЛ рд▓рд╛рдЧреА рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ: рд╕реНрдЯреЗрдЯрдлреБрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдХрд╕рд░реА рдЪрд▓рд╛рдЙрдиреЗ
рд╡рд╛рд╕реНрддрд╡рдорд╛, рддрд╕реНрд╡рд┐рд░рдмрд╛рдЯ рджреЗрдЦреНрди рд╕рдХрд┐рдиреНрдЫ, рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдорд╛ рдПрдХ рдЕрд▓рдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдердкрд┐рдПрдХреЛ рдЫ (рдирд┐рдпрдорд┐рдд рддреИрдирд╛рде ╤Б рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реЗрдЯ), рдЬрд╕рд▓рд╛рдИ рдЕрдкрд░реЗрдЯрд░ рднрдирд┐рдиреНрдЫред рдпреЛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреЛрдб рдорд╛ рдмрд╕реНрдЫ (рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рдПрдХ рдорд╛рддреНрд░) рд░, рдПрдХ рдирд┐рдпрдо рдХреЛ рд░реВрдк рдорд╛, рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ рдЬрд┐рдореНрдореЗрд╡рд╛рд░ рдЫ рдиреЗрдорд╕реНрдкреЗрд╕ред рдпреЛ рдЕрдкрд░реЗрдЯрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд▓реЗ рдпрд╕рдХреЛ 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 рд╕рд┐рд░реНрдЬрдирд╛ -f SOME_OPERATOR_URL/deployment.yaml - рд░ рдердк рдХрд╛рд░реНрдпрд╣рд░реВ рдЖрд╡рд╢реНрдпрдХ рдЫреИрдиред
  2. Kubernetes рдорд╛ рдЕрдкрд░реЗрдЯрд░ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрджрд╛, рдирдпрд╛рдБ рддреЗрд╕реНрд░реЛ-рдкрдХреНрд╖ рдкреНрд░рдХрд╛рд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрдкрд░реНрдЫ (ThirdPartyResource)ред рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ (рдХреНрд▓рд╕реНрдЯрд░ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ) рд╕реБрд░реБ рдЧрд░реНрди рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдердк рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди (рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ, рд░рд┐рд╕рд╛рдЗрдЬрд┐рдЩ, рдЖрджрд┐), рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓реЗ рдпреЛ рдкреНрд░рдХрд╛рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗрдЫред
  3. рдЬрдмрд╕рдореНрдо рд╕рдореНрднрд╡ рд╣реБрдиреНрдЫ, рддрдкрд╛рдИрдВрд▓реЗ Kubernetes рдорд╛ рдирд┐рд░реНрдорд┐рдд рдЖрджрд┐рдо рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдкрд░реНрдЫ, рдЬрд╕реНрддреИ рд╕реЗрд╡рд╛ ╨╕ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реЗрдЯрд╣рд░реВрд░рд╛рдореНрд░реЛрд╕рдБрдЧ рдкрд░реАрдХреНрд╖рдг рдЧрд░рд┐рдПрдХреЛ рд░ рдмреБрдЭреНрди рд╕рдХрд┐рдиреЗ рдХреЛрдб рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиред
  4. рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛-рд╕рд┐рд░реНрдЬрд┐рдд рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рдкреБрд░рд╛рдиреЛ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВрдХреЛ рдкрдЫрд╛рдбрд┐ рдЕрдиреБрдХреВрд▓рддрд╛ рд░ рд╕рдорд░реНрдерди рдЖрд╡рд╢реНрдпрдХ рдЫред
  5. рдпрджрд┐ рдЕрдкрд░реЗрдЯрд░ рд╣рдЯрд╛рдЗрдпреЛ рднрдиреЗ, рдПрдкреНрд▓рд┐рдХреЗрд╕рди рдЖрдлреИрд▓реЗ рдкрд░рд┐рд╡рд░реНрддрди рдмрд┐рдирд╛ рдХрд╛рдо рдЧрд░реНрди рдЬрд╛рд░реА рд░рд╛рдЦреНрдиреБрдкрд░реНрдЫред
  6. рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рд╡рд╛рдВрдЫрд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдВрд╕реНрдХрд░рдг рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдВрд╕реНрдХрд░рдг рдЕрджреНрдпрд╛рд╡рдзрд┐рдХрд╣рд░реВ рдЕрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯ рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрдиреБрдкрд░реНрдЫред рд╕рдлреНрдЯрд╡реЗрдпрд░ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХрд╣рд░реВрдХреЛ рдЕрднрд╛рд╡ рдкрд░рд┐рдЪрд╛рд▓рди рд░ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдХреЛ рд╕рд╛рдЭрд╛ рд╕реНрд░реЛрдд рд╣реЛ, рддреНрдпрд╕реИрд▓реЗ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВрд▓реЗ рдпрд╕ рдорд╛рдорд┐рд▓рд╛рдорд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рд╕рд╣рдпреЛрдЧ рдЧрд░реНрдиреБрдкрд░реНрдЫред
  7. рдЕрдкрд░реЗрдЯрд░рд╣рд░реВрд▓рд╛рдИ рдХреНрдпрд╛рдУрд╕ рдореЛрдиреНрдХреА рдЬрд╕реНрддрд╛ рдЙрдкрдХрд░рдгрдХреЛ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдЧрд░рд┐рдиреБ рдкрд░реНрдЫ, рдЬрд╕рд▓реЗ рдкреЛрдб, рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВ рд░ рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рд╕рдореНрднрд╛рд╡рд┐рдд рд╡рд┐рдлрд▓рддрд╛рд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрджрдЫред

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

рдЕрдкрд░реЗрдЯрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЙрджрд╛рд╣рд░рдг - etcd рдЕрдкрд░реЗрдЯрд░, рддрдпрд╛рд░ рдпрд╕ рдЕрд╡рдзрд╛рд░рдгрд╛рдХреЛ рдШреЛрд╖рдгрд╛рдХреЛ рджрд┐рдирдорд╛ред рдХреЛрд░рдо рдХрд╛рдпрдо рдЧрд░реНрди, рдХреНрд▓рд╕реНрдЯрд░ рд╕рджрд╕реНрдпрддрд╛ рдкреБрди: рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреЗ рдЖрд╡рд╢реНрдпрдХрддрд╛, рдмреНрдпрд╛рдХрдЕрдкрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ, рдЖрджрд┐рдХрд╛ рдХрд╛рд░рдг etcd рдХреНрд▓рд╕реНрдЯрд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдЬрдЯрд┐рд▓ рд╣реБрди рд╕рдХреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рдПрдХ etcd рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдХреЗрд▓рд┐рдЩрдХреЛ рдорддрд▓рдм рддрдкрд╛рдИрдВрд▓реЗ рдирдпрд╛рдБ рдХреНрд▓рд╕реНрдЯрд░ рд╕рджрд╕реНрдпрдХреЛ рд▓рд╛рдЧрд┐ DNS рдирд╛рдо рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдирдпрд╛рдБ etcd рд╕рдВрд╕реНрдерд╛ рд╕реБрд░реБ рдЧрд░реНрди, рд░ рдирдпрд╛рдБ рд╕рджрд╕реНрдпрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреНрд▓рд╕реНрдЯрд░рд▓рд╛рдИ рд╕рдЪреЗрдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫредetcdctl рд╕рджрд╕реНрдп рдердкреНрдиреБрд╣реЛрд╕реН)ред рдЕрдкрд░реЗрдЯрд░рдХреЛ рдорд╛рдорд▓рд╛рдорд╛, рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓реЗ рдорд╛рддреНрд░ рдХреНрд▓рд╕реНрдЯрд░ рд╕рд╛рдЗрдЬ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ - рдЕрдиреНрдп рд╕рдмреИ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рд╣реБрдиреЗрдЫред

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

  1. рдЕрд╡рд▓реЛрдХрди рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдЕрдкрд░реЗрдЯрд░рд▓реЗ Kubernetes API рдХреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рдЕрд╡рд╕реНрдерд╛рд▓рд╛рдИ рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реНрджрдЫред
  2. рд╡рд┐рд╢реНрд▓реЗрд╖рдгред рд╣рд╛рд▓рдХреЛ рд╕реНрдерд┐рддрд┐ рд░ рд╡рд╛рдВрдЫрд┐рдд (рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд) рдмреАрдЪрдХреЛ рднрд┐рдиреНрдирддрд╛рд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдЫред
  3. рдХрд╛рд░реНрдпред etcd рд░/рд╡рд╛ Kubernetes рд╕реЗрд╡рд╛ API рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЗрдПрдХреЛ рднрд┐рдиреНрдирддрд╛рд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрджрдЫред

Kubernetes рдХреЛ рд▓рд╛рдЧреА рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ: рд╕реНрдЯреЗрдЯрдлреБрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдХрд╕рд░реА рдЪрд▓рд╛рдЙрдиреЗ

рдпреЛ рддрд░реНрдХ рд▓рд╛рдЧреВ рдЧрд░реНрди, рдХрд╛рд░реНрдпрд╣рд░реВ рдЕрдкрд░реЗрдЯрд░рдорд╛ рддрдпрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ рд╕рд┐рд░реНрдЬрдирд╛ / рдирд╖реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН (etcd рдХреНрд▓рд╕реНрдЯрд░ рд╕рджрд╕реНрдпрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рд░ рдореЗрдЯрд╛рдЙрдиреЗ) рд░ рдкреБрдирдГрдЖрдХрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН (рдХреНрд▓рд╕реНрдЯрд░ рд╕рджрд╕реНрдп рд╕рдВрдЦреНрдпрд╛рдорд╛ рдкрд░рд┐рд╡рд░реНрддрди)ред рдпрд╕рдХреЛ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рд╢реБрджреНрдзрддрд╛ Netflix рдмрд╛рдЯ Chaos Monkey рдХреЛ рд╕рдорд╛рдирддрд╛рдорд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЬрд╛рдБрдЪ рдЧрд░рд┐рдпреЛ, рдЕрд░реНрдерд╛рддреНред рдЖрджрд┐ рдкреЛрдбрд╣рд░реВ рдЕрдирд┐рдпрдорд┐рдд рд░реВрдкрдорд╛ рдорд╛рд░реНрджреИред

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 рдЕрдкрд░реЗрдЯрд░рдХреЛ рд╣рд╛рд▓рдХреЛ рд╕реНрдерд┐рддрд┐ рдмрд┐рдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛ, рдЬрд╕рдорд╛ Kubernetes 1.5.3+ рд░ etcd 3.0+ рдЪрд▓рд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫред рд╕реНрд░реЛрдд рдХреЛрдб рд░ рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВ (рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ рд╕рд╣рд┐рдд) рдорд╛ рдЙрдкрд▓рдмреНрдз рдЫрдиреН GitHub.

CoreOS рдмрд╛рдЯ рдЕрд░реНрдХреЛ рдЙрджрд╛рд╣рд░рдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫ - рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдЕрдкрд░реЗрдЯрд░, рддрд░ рдпреЛ рдЕрдЭреИ рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдгрдорд╛ рдЫ (рд╕рдмреИ рдпреЛрдЬрдирд╛рдмрджреНрдз рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫреИрди)ред

рд╕реНрдерд┐рддрд┐ рд░ рд╕рдореНрднрд╛рд╡рдирд╛рд╣рд░реВ

Kubernetes рдЕрдкрд░реЗрдЯрд░рд╣рд░реВрдХреЛ рдШреЛрд╖рдгрд╛ рднрдПрдХреЛ 5 рдорд╣рд┐рдирд╛ рдмрд┐рддрд┐рд╕рдХреЗрдХреЛ рдЫред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ CoreOS рднрдгреНрдбрд╛рд░рдорд╛ (etcd рд░ Prometheus рдХреЛ рд▓рд╛рдЧрд┐) рдЕрдЭреИ рджреБрдИрд╡рдЯрд╛ рдорд╛рддреНрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЙрдкрд▓рдмреНрдз рдЫрдиреНред рджреБрдмреИ рдЕрдЭреИ рдЖрдлреНрдиреЛ рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрдорд╛ рдкреБрдЧреЗрдХрд╛ рдЫреИрдирдиреН, рддрд░ рдХрдорд┐рдЯрд╣рд░реВ рджреИрдирд┐рдХ рдЖрдзрд╛рд░рдорд╛ рдЕрд╡рд▓реЛрдХрди рдЧрд░рд┐рдиреНрдЫред

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

рд╕рдмреИрднрдиреНрджрд╛ рдареВрд▓реЛ рдпреБрд░реЛрдкреЗрд▓реА рдирд┐: рд╢реБрд▓реНрдХ рд╕рдлреНрдЯрд╡реЗрдпрд░ рд╕рдореНрдореЗрд▓рди FOSDEM рдорд╛, рдЬреБрди рдлреЗрдмреНрд░реБрдЕрд░реА 2017 рдорд╛ рдмреНрд░рд╕реЗрд▓реНрд╕рдорд╛ рднрдПрдХреЛ рдерд┐рдпреЛ, CoreOS рдХрд╛ рдЬреЛрд╢ рд╡реБрдбрд▓реЗ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ рдШреЛрд╖рдгрд╛ рдЧрд░реЗред рд░рд┐рдкреЛрд░реНрдЯ (рдПрдХ рднрд┐рдбрд┐рдпреЛ рд▓рд┐рдЩреНрдХрдорд╛ рдЙрдкрд▓рдмреНрдз рдЫ!), рдЬрд╕рд▓реЗ рдлрд░рд╛рдХрд┐рд▓реЛ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╕рдореБрджрд╛рдпрдорд╛ рдпрд╕ рдЕрд╡рдзрд╛рд░рдгрд╛рдХреЛ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛рдХреЛ рд╡реГрджреНрдзрд┐рдорд╛ рдпреЛрдЧрджрд╛рди рдкреБрд░реНтАНрдпрд╛рдЙрдБрдЫред

PS рд▓реЗрдЦрдорд╛ рддрдкрд╛рдИрдВрдХреЛ рд░реБрдЪрд┐рдХреЛ рд▓рд╛рдЧрд┐ рдзрдиреНрдпрд╡рд╛рдж! рд╣рд╛рдореНрд░реЛ рд╣рдмрдХреЛ рд╕рджрд╕реНрдпрддрд╛ рд▓рд┐рдиреБрд╣реЛрд╕реН, DevOps рд░ GNU/Linux рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рд╢рд╛рд╕рдирдорд╛ рдирдпрд╛рдБ рд╕рд╛рдордЧреНрд░реА рд░ рд░реЗрд╕рд┐рдкреАрд╣рд░реВ рдирдЫреБрдЯрд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ - рд╣рд╛рдореА рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдирд┐рдпрдорд┐рдд рд░реВрдкрдорд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░реНрдиреЗрдЫреМрдВ!

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди