DBaaS рдмрджрд▓реВ рд╢рдХрдгрд╛рд░реЗ Kubernetes рд╡рд╛рдкрд░реВрди рд╣рд╛рдпрдмреНрд░рд┐рдб рдХреНрд▓рд╛рдЙрдб рдХрд╕рд╛ рддрдпрд╛рд░ рдХрд░рд╛рдпрдЪрд╛

рдорд╛рдЭреЗ рдирд╛рд╡ рдкреЗрдЯреНрд░ рдЬреИрддреНрд╕реЗрд╡реНрд╣ рдЖрд╣реЗ, рдореА рд╕реАрдИрдУ рдЖрд╣реЗ, рд╕рдВрд╕реНрдерд╛рдкрдХ рдЖрд╣реЗ рдкрд░реНрдХреЛрдирд╛ рдЖрдгрд┐ рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд╛рдВрдЧреВ рдЗрдЪреНрдЫрд┐рддреЛ:

  • рдЖрдореНрд╣реА рд╕реЗрд╡рд╛ рдореНрд╣рдгреВрди рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдореБрдХреНрдд рд╕реНрддреНрд░реЛрдд рд╕рдорд╛рдзрд╛рдирд╛рдВрдордзреВрди рдХрд╕реЗ рдЖрд▓реЛ;
  • рдХреНрд▓рд╛рдЙрдбрдордзреНрдпреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдЙрдкрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЛрдгрддреЗ рджреГрд╖реНрдЯрд┐рдХреЛрди рдЖрд╣реЗрдд;
  • Kubernetes DBaaS рдХрд╕реЗ рдмрджрд▓реВ рд╢рдХрддрд╛рдд, рд╡рд┐рдХреНрд░реЗрддрд╛ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдХрд╛рдвреВрди рдЯрд╛рдХреВрди рдЖрдгрд┐ рд╕реЗрд╡рд╛ рдореНрд╣рдгреВрди DBMS рдЪреА рд╕рд╛рдзреЗрдкрдгрд╛ рд░рд╛рдЦреВрди.

Mail.ru Cloud Solutions & Tarantool рджреНрд╡рд╛рд░реЗ @Databases Meetup рдордзреАрд▓ рдЕрд╣рд╡рд╛рд▓рд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд▓реЗрдЦ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓рд╛ рдЖрд╣реЗ. рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд╛рдЪрд╛рдпрдЪреЗ рдирд╕реЗрд▓ рддрд░ рддреБрдореНрд╣реА рдкрд╛рд╣реВ рд╢рдХрддрд╛:


рдХреНрд▓рд╛рдЙрдбрдордзреАрд▓ рд╕реЗрд╡рд╛ рдореНрд╣рдгреВрди рдЖрдореНрд╣реА рдУрдкрди рд╕реЛрд░реНрд╕рдордзреВрди рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдХрд╕реЗ рдЖрд▓реЛ

рдореА 90 рдЪреНрдпрд╛ рджрд╢рдХрд╛рдЪреНрдпрд╛ рдЙрддреНрддрд░рд╛рд░реНрдзрд╛рдкрд╛рд╕реВрди рдУрдкрди рд╕реЛрд░реНрд╕рдордзреНрдпреЗ рдХрд╛рдо рдХрд░рдд рдЖрд╣реЗ. рд╡реАрд╕ рд╡рд░реНрд╖рд╛рдВрдкреВрд░реНрд╡реА рдбреЗрдЯрд╛рдмреЗрд╕рд╕рд╛рд░рдЦрд╛ рдореБрдХреНрдд рд╕реНрд░реЛрдд рд╡рд╛рдкрд░рдгреЗ рдЗрддрдХреЗ рд╕реЛрдкреЗ рдирд╡реНрд╣рддреЗ. рд╕реЛрд░реНрд╕ рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдгреЗ, рдкреЕрдЪ рдХрд░рдгреЗ, рд╕рдВрдХрд▓рд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рддреНрдпрд╛рдирдВрддрд░рдЪ рддреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ.

рдореБрдХреНрдд рд╕реНрд░реЛрдд рдирдВрддрд░ рд╕рд░рд▓реАрдХрд░рдгрд╛рдВрдЪреНрдпрд╛ рдорд╛рд▓рд┐рдХреЗрддреВрди рдЧреЗрд▓рд╛:

  • Tar.gz рдЖрдгрд┐ рдЗрдиреНрд╕реНрдЯреЙрд▓ рд╕реНрддреНрд░реЛрдд рдЬреЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ;
  • .deb рдЖрдгрд┐ .rpm рд╕рд╛рд░рдЦреНрдпрд╛ рдЕрд╡рд▓рдВрдмрдирд╛рдВрд╕рд╣ рдкреЕрдХреЗрдЬреЗрд╕, рдЬрд┐рдереЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд рдкреЕрдХреЗрдЬреЗрд╕рдЪрд╛ рд╕рдВрдЪ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛рд╡рд╛ рд▓рд╛рдЧреЗрд▓;
  • APT рдЖрдгрд┐ YUM рд╕рд╛рд░рдЦреНрдпрд╛ рдкреЕрдХреЗрдЬ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдЬ, рдЬреНрдпрд╛рд╕рд╣ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдЖрд╣реЗ;
  • рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕ рдЬрд╕реЗ рдХреА рдбреЙрдХрд░ рдЖрдгрд┐ рд╕реНрдиреЕрдк, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдмрд╛рд╣реНрдп рдЕрд╡рд▓рдВрдмрдирд╛рд╢рд┐рд╡рд╛рдп рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рдирджреНрд╡рд╛рд░реЗ рдкреЕрдХреЗрдЬреЗрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддрд╛рдд.

рдкрд░рд┐рдгрд╛рдореА, рдУрдкрди рд╕реЛрд░реНрд╕ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рд╡рд╛рдкрд░рдгреЗ рд╕реЛрдкреЗ рд╣реЛрддреЗ рдЖрдгрд┐ рдЕрд╢рд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рддреАрд▓ рдкреНрд░рд╡реЗрд╢рд╛рдЪрд╛ рдЕрдбрдерд│рд╛ рджреЗрдЦреАрд▓ рдХрдореА рд╣реЛрддреЛ.

рддреНрдпрд╛рдЪ рд╡реЗрд│реА, 20 рд╡рд░реНрд╖рд╛рдВрдкреВрд░реНрд╡реАрдЪреНрдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдЪреНрдпрд╛ рд╡рд┐рдкрд░реАрдд, рдЬреЗрд╡реНрд╣рд╛ рдкреНрд░рддреНрдпреЗрдХрдЬрдг рдЕрд╕реЗрдВрдмреНрд▓реА рддрдЬреНрдЮ рд╣реЛрддрд╛, рдЖрддрд╛ рдмрд╣реБрддреЗрдХ рд╡рд┐рдХрд╕рдХ рд╕реНрддреНрд░реЛрддрд╛рдВрдХрдбреВрди рд╡рд╛рдкрд░рдд рдЕрд╕рд▓реЗрд▓реА рд╕рд╛рдзрдиреЗ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реАрдд.

рдЦрд░рдВ рддрд░, рд╣реЗ рд╡рд╛рдИрдЯ рдирд╛рд╣реА, рдХрд╛рд░рдг:

  1. рдЖрдореНрд╣реА рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкрд░рдВрддреБ рдЕрдзрд┐рдХ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЕрдиреБрдХреВрд▓ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рд╡рд╛рдкрд░реВ рд╢рдХрддреЛ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдмреНрд░рд╛рдЙрдЭрд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рд╕реЛрдпреАрд╕реНрдХрд░ рдЖрд╣реЗ, рдкрд░рдВрддреБ рддреНрдпрд╛рдд рдЕрдиреЗрдХ рдореБрдХреНрдд рд╕реНрд░реЛрдд рдШрдЯрдХ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд рдЖрдгрд┐ рддреЗ рд╕реБрд░рд╡рд╛рддреАрдкрд╛рд╕реВрди рддрдпрд╛рд░ рдХрд░рдгреЗ рдЧреИрд░рд╕реЛрдпреАрдЪреЗ рдЖрд╣реЗ.
  2. рдЕрдзрд┐рдХ рд▓реЛрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдЖрдгрд┐ рдЗрддрд░ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░рдЪреЗ рдбреЗрд╡реНрд╣рд▓рдкрд░ рдмрдиреВ рд╢рдХрддрд╛рдд, рд╡реНрдпрд╡рд╕рд╛рдпрд╛рдВрджреНрд╡рд╛рд░реЗ рдЕрдзрд┐рдХ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рддреНрдпрд╛рдЪреА рдЧрд░рдЬ рдЬрд╛рд╕реНрдд рдЖрд╣реЗ.

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

рдЬреЗрд╡реНрд╣рд╛ рдХреНрд▓рд╛рдЙрдбрдордзреАрд▓ рдбреЗрдЯрд╛рдмреЗрд╕рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ, рддреЗрд╡реНрд╣рд╛ рджреЛрди рджреГрд╖реНрдЯрд┐рдХреЛрди рдЖрд╣реЗрдд:

  1. рдиреЗрд╣рдореАрдЪреНрдпрд╛ рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░рдкреНрд░рдорд╛рдгреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдПрдХрддреНрд░ рдХрд░рд╛. рдореНрд╣рдгрдЬреЗрдЪ, рдорд╛рдирдХ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдмреНрд▓реЙрдХреНрд╕ рдШреНрдпрд╛: рдЧрдгрдирд╛, рд╕реНрдЯреЛрд░реЗрдЬ рдЖрдгрд┐ рдЕрд╕реЗрдЪ, рддреНрдпрд╛рд╡рд░ рд▓рд┐рдирдХреНрд╕ рдЖрдгрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛ рдЖрдгрд┐ рддреЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛.
  2. рд╕реЗрд╡рд╛ рдореНрд╣рдгреВрди рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд╛рдкрд░рд╛, рдЬреЗрдереЗ рдкреНрд░рджрд╛рддрд╛ рдХреНрд▓рд╛рдЙрдбрдордзреНрдпреЗ рддрдпрд╛рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдлрд░ рдХрд░рддреЛ.

DBaaS рд╣реА рд╕рдзреНрдпрд╛ рдЭрдкрд╛рдЯреНрдпрд╛рдиреЗ рд╡рд╛рдврдгрд╛рд░реА рдмрд╛рдЬрд╛рд░рдкреЗрда рдЖрд╣реЗ рдХрд╛рд░рдг рддреЗ рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдирд╛ рдереЗрдЯ рдбреЗрдЯрд╛рдмреЗрд╕рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ рдЖрдгрд┐ рдирд┐рдпрдорд┐рдд рдХрд╛рдо рдХрдореА рдХрд░рддреЗ. рдкреНрд░рджрд╛рддрд╛ рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рдЖрдгрд┐ рд╕реБрд▓рдн рд╕реНрдХреЗрд▓рд┐рдВрдЧ, рдбреЗрдЯрд╛рдмреЗрд╕ рдкреЕрдЪрд┐рдВрдЧ, рдмреЕрдХрдЕрдк рдЖрдгрд┐ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдЯреНрдпреВрдирд┐рдВрдЧ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣рд╛рддреА рдШреЗрддреЗ.

рдУрдкрди рд╕реЛрд░реНрд╕рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╕реЗрд╡рд╛ рдореНрд╣рдгреВрди рджреЛрди рдкреНрд░рдХрд╛рд░рдЪреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдЖрдгрд┐ рдХреБрдмрд░рдиреЗрдЯрдЪреНрдпрд╛ рд░реВрдкрд╛рдд рдкрд░реНрдпрд╛рдпреА

рдУрдкрди рдбреЗрдЯрд╛рдмреЗрд╕реЗрд╕рд╕рд╛рдареА рд╕реЗрд╡рд╛ рдореНрд╣рдгреВрди рджреЛрди рдкреНрд░рдХрд╛рд░рдЪреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдЖрд╣реЗрдд:

  1. рд╕реБрд▓рдн рдЙрдкрдпреЛрдЬрди рдЖрдгрд┐ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирд╛рд╕рд╛рдареА рдкреНрд░рд╢рд╛рд╕рдирд╛рдЪреНрдпрд╛ рдмреЕрдХрдПрдВрдбрдордзреНрдпреЗ рдкреЕрдХ рдХреЗрд▓реЗрд▓реЗ рдорд╛рдирдХ рдореБрдХреНрдд рд╕реНрддреНрд░реЛрдд рдЙрддреНрдкрд╛рджрди.
  2. рд╡рд┐рд╡рд┐рдз рдЕреЕрдб-рдСрдирд╕рд╣ рдкреНрд░рдЧрдд рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╕рдорд╛рдзрд╛рди, рдореБрдХреНрдд рд╕реНрддреНрд░реЛрддрд╛рд╢реА рд╕реБрд╕рдВрдЧрдд.

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

рдЖрдгрд┐ рдЗрдереЗ рдкреНрд░рд╢реНрди рдЙрджреНрднрд╡рддреЛ - рд╕реЗрд╡рд╛ рдореНрд╣рдгреВрди рдбреЗрдЯрд╛рдмреЗрд╕рдЪреА рд╕реЛрдп рдорд┐рд│рд╡рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ рдХрд╛, рдкрд░рдВрддреБ рдПрдХ рд╕рд╛рдзреЗ рдореБрдХреНрдд рд╕реНрддреНрд░реЛрдд рдЙрдкрд╛рдп рдореНрд╣рдгреВрди?

рд╡рд╛рдИрдЯ рдмрд╛рддрдореА рдЕрд╢реА рдЖрд╣реЗ рдХреА, рджреБрд░реНрджреИрд╡рд╛рдиреЗ, рдмрд╛рдЬрд╛рд░рд╛рдд рдЕрджреНрдпрд╛рдк рдЕрд╕реЗ рдХреЛрдгрддреЗрд╣реА рдЙрдкрд╛рдп рдирд╛рд╣реАрдд. рдЪрд╛рдВрдЧрд▓реА рдмрд╛рддрдореА рдЕрд╢реА рдЖрд╣реЗ рдХреА рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдЖрд╣реЗ, рдЬреЗ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЕрд╢рд╛ рдЙрдкрд╛рдпрд╛рдВрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ.

Kubernetes рд╣реА рдХреНрд▓рд╛рдЙрдб рдХрд┐рдВрд╡рд╛ рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░рд╕рд╛рдареА рдПрдХ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯреАрдо рдЖрд╣реЗ рдЬреА рддреБрдореНрд╣рд╛рд▓рд╛ рдПрдХрд╛рдЪ рд╣реЛрд╕реНрдЯрд╡рд░ рдРрд╡рдЬреА рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдПрдХрд╛рдзрд┐рдХ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддреИрдирд╛рдд рдЖрдгрд┐ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ.

рдЖрддрд╛ рдЕрд╢рд╛ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░рдЪреНрдпрд╛ рд╢реНрд░реЗрдгреАрдд рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдЖрдШрд╛рдбреАрд╡рд░ рдЖрд╣реЗ. рдЕрд╢рд╛ рд╕рдорд╕реНрдпрд╛рдВрд╕рд╛рдареА рдЕрдиреЗрдХ рднрд┐рдиреНрди рдЙрдкрд╛рдп рд╣реЛрддреЗ, рдкрд░рдВрддреБ рддреЗ рдорд╛рдирдХ рдмрдирд▓реЗ. рдкрд░реНрдпрд╛рдпреА рдЙрдкрд╛рдпрд╛рдВрд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рдЕрдиреЗрдХ рдХрдВрдкрдиреНрдпрд╛ рдЖрддрд╛ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рддреНрдпрд╛рдВрдЪреА рдЙрддреНрдкрд╛рджрдиреЗ рдЕрдиреБрдХреВрд▓ рдХрд░рдгреНрдпрд╛рд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдд рдЖрд╣реЗрдд.

рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╣реЗ рдПрдХ рд╕рд╛рд░реНрд╡рддреНрд░рд┐рдХ рд╕рдорд╛рдзрд╛рди рдЖрд╣реЗ рдЬреЗ рдЕрдиреЗрдХ рд╡рд┐рдХреНрд░реЗрддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЦрд╛рдЬрдЧреА, рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдгрд┐ рд╕рдВрдХрд░рд┐рдд рдХреНрд▓рд╛рдЙрдбрдордзреНрдпреЗ рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде: AWS, Google Cloud, Microsoft Azure, Mail.ru рдХреНрд▓рд╛рдЙрдб рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕.

Kubernetes рдбреЗрдЯрд╛рдмреЗрд╕рд╕рд╣ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ

Kubernetes рд╣реЗ рдореВрд▓рддрдГ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗ рд╣реЛрддреЗ рдЬреЗ рдбреЗрдЯрд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛рдд рдкрд░рдВрддреБ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕ рдХрд┐рдВрд╡рд╛ рд╡реЗрдм рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рд╕рд╛рд░рдЦреЗ рдХрд╛рд╣реАрд╣реА рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдд рдирд╛рд╣реАрдд. рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдкреЗрдХреНрдЯреНрд░рдордЪреНрдпрд╛ рджреБрд╕рд▒реНрдпрд╛ рдЯреЛрдХрд╛рд▓рд╛ рдЕрд╕рддрд╛рдд, рдореНрд╣рдгрдЬреЗрдЪ рддреЗ рд╕реНрдЯреЗрдЯрдлреБрд▓ рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдЕрд╕рддрд╛рдд. рдЖрдгрд┐ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдЪрд╛ рдореВрд│ рд╣реЗрддреВ рдЕрд╢рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрд╕рд╛рдареА рдирд╡реНрд╣рддрд╛.

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

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

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

Percona рдордзреНрдпреЗ Kubernetes рд╕рд╛рдареА рджреЛрди рдореБрдХреНрдд рд╕реНрд░реЛрдд рдЙрдкрд╛рдп рдЖрд╣реЗрдд:

  1. MongoDB рд╕рд╛рдареА Percona рд╕рд░реНрд╡реНрд╣рд░рд╕рд╛рдареА Kubernetes рдСрдкрд░реЗрдЯрд░.
  2. XtraDB CLUSTER рд╕рд╛рдареА Kubernetes рдСрдкрд░реЗрдЯрд░ рд╣реА рдПрдХ рд╕реЗрд╡рд╛ рдЖрд╣реЗ рдЬреА MySQL рд╢реА рд╕реБрд╕рдВрдЧрдд рдЖрд╣реЗ рдЖрдгрд┐ рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рдЖрдгрд┐ рд╕реБрд╕рдВрдЧрддрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╕рд▓реНрдпрд╛рд╕ рддреБрдореНрд╣реА рдПрдХрд▓ рдиреЛрдб рджреЗрдЦреАрд▓ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде рдбреЗрд╡реНрд╣ рдбреЗрдЯрд╛рдмреЗрд╕рд╕рд╛рдареА.

Kubernetes рд╡рд╛рдкрд░рдХрд░реНрддреЗ рджреЛрди рдЧрдЯрд╛рдВрдордзреНрдпреЗ рд╡рд┐рднрд╛рдЧрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд. рдХрд╛рд╣реА рд▓реЛрдХ рдереЗрдЯ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдСрдкрд░реЗрдЯрд░ рд╡рд╛рдкрд░рддрд╛рдд - рд╣реЗ рдкреНрд░рд╛рдореБрдЦреНрдпрд╛рдиреЗ рдкреНрд░рдЧрдд рд╡рд╛рдкрд░рдХрд░реНрддреЗ рдЖрд╣реЗрдд рдЬреНрдпрд╛рдВрдирд╛ рддрдВрддреНрд░рдЬреНрдЮрд╛рди рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдпрд╛рдЪреА рдЪрд╛рдВрдЧрд▓реА рд╕рдордЬ рдЖрд╣реЗ. рдЗрддрд░ рддреЗ рдмреЕрдХрдПрдВрдбрд╡рд░ рдЪрд╛рд▓рд╡рддрд╛рдд - рдЕрд╢рд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рд╕реЗрд╡рд╛ рдореНрд╣рдгреВрди рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд╛рд░рдЦреНрдпрд╛ рдЧреЛрд╖реНрдЯреАрдордзреНрдпреЗ рд╕реНрд╡рд╛рд░рд╕реНрдп рдЕрд╕рддреЗ, рддреНрдпрд╛рдВрдирд╛ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдЪреНрдпрд╛ рдмрд╛рд░рдХрд╛рд╡реЗ рд╢реЛрдзреВ рдЗрдЪреНрдЫрд┐рдд рдирд╛рд╣реАрдд. рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреНрдпрд╛ рджреБрд╕рд▒реНрдпрд╛ рдЧрдЯрд╛рд╕рд╛рдареА, рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдЖрдгрдЦреА рдПрдХ рдореБрдХреНрдд рд╕реНрд░реЛрдд рдЙрдкрд╛рдп рдЖрд╣реЗ - Percona DBaaS CLI рдЯреВрд▓. рдЬреНрдпрд╛рдВрдирд╛ рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдЪреА рд╕рдЦреЛрд▓ рдорд╛рд╣рд┐рддреА рдирд╕рддрд╛рдирд╛ Kubernetes рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдУрдкрди рд╕реЛрд░реНрд╕ DBaaS рдорд┐рд│рд╡рд╛рдпрдЪрд╛ рдЖрд╣реЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╛рдареА рд╣рд╛ рдПрдХ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдЙрдкрд╛рдп рдЖрд╣реЗ.

Google Kubernetes Engine рд╡рд░ Percona рдЪреЗ DBaaS рдХрд╕реЗ рдЪрд╛рд▓рд╡рд╛рдпрдЪреЗ

Google Kubernetes Engine, рдорд╛рдЭреНрдпрд╛ рдорддреЗ, Kubernetes рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдЪреНрдпрд╛ рд╕рд░реНрд╡рд╛рдд рдХрд╛рд░реНрдпрдХреНрд╖рдо рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдВрдкреИрдХреА рдПрдХ рдЖрд╣реЗ. рд╣реЗ рдЬрдЧрд╛рддреАрд▓ рдЕрдиреЗрдХ рдкреНрд░рджреЗрд╢рд╛рдВрдордзреНрдпреЗ рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рдд рдПрдХ рд╕рд╛рдзреЗ рдЖрдгрд┐ рд╕реЛрдпреАрд╕реНрдХрд░ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓ (SDK) рдЖрд╣реЗ, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рдореЕрдиреНрдпреБрдЕрд▓реА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдРрд╡рдЬреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ.

рдЖрдордЪреЗ DBaaS рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣рд╛рд▓рд╛ рдЦрд╛рд▓реАрд▓ рдШрдЯрдХрд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ:

  1. рдХреБрдмреЗрдХреНрдЯрд▓.
  2. Google рдХреНрд▓рд╛рдЙрдб SDK.
  3. Percona DBaaS CLI.

kubectl рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛

рдЖрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдорд╕рд╛рдареА рдкреЕрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЛ, рдЖрдореНрд╣реА рдЙрдмрдВрдЯреВрдЪреЗ рдЙрджрд╛рд╣рд░рдг рдкрд╛рд╣реВ. рдЕрдзрд┐рдХ рдорд╛рд╣рд┐рддреАрд╕рд╛рдареА рдпреЗрдереЗ.

sudo apt-get update && sudo apt-get install -y apt-transport-https gnupg2
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl

Google Cloud SDK рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдд рдЖрд╣реЗ

рдЖрдореНрд╣реА рддреНрдпрд╛рдЪ рдкреНрд░рдХрд╛рд░реЗ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдкреЕрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЛ. рдЕрдзрд┐рдХ рдорд╛рд╣рд┐рддреАрд╕рд╛рдареА рдпреЗрдереЗ.

# Add the Cloud SDK distribution URI as a package source
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] 
http://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list

# Import the Google Cloud Platform public key
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -

# Update the package list and install the Cloud SDK
sudo apt-get update && sudo apt-get install google-cloud-sdk

Percona DBaaS CLI рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдд рдЖрд╣реЗ

рдкрд░реНрдХреЛрдирд╛ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдЬрдордзреВрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛. Percona DBaaS CLI рдЯреВрд▓ рдЕрдЬреВрдирд╣реА рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдЙрддреНрдкрд╛рджрди рдЖрд╣реЗ, рдореНрд╣рдгреВрди рддреЗ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рднрд╛рдВрдбрд╛рд░рд╛рдд рд╕реНрдерд┐рдд рдЖрд╣реЗ, рдЬреЗ рддреБрдореНрд╣реА рдЖрдзреАрдЪ Percona рд░реЗрдкреЙрдЬрд┐рдЯрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЕрд╕рд▓реЗ рддрд░реАрд╣реА рддреЗ рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рд╕рдХреНрд╖рдо рдХреЗрд▓реЗ рдЬрд╛рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдЕрдзрд┐рдХ рд╡рд╛рдЪрд╛ рдпреЗрдереЗ.

рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдЕрд▓реНрдЧреЛрд░рд┐рджрдо:

  1. рдкрд░реНрдХреЛрдирд╛-рд░рд┐рд▓реАрдЬ рдЯреВрд▓ рд╡рд╛рдкрд░реВрди рдкрд░реНрдХреЛрдирд╛ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдЬ рд╕реЗрдЯ рдХрд░рд╛. рдкреНрд░рдердо рддреБрдореНрд╣рд╛рд▓рд╛ Percona рд╡рд░реВрди рдЕрдзрд┐рдХреГрдд рдкрд░реНрдХреЛрдирд╛-рд░рд┐рд▓реАрдЬ рдкреЕрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдЖрдгрд┐ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ:
    wget https://repo.percona.com/apt/percona-release_latest.generic_all.deb
    sudo dpkg -i percona-release_latest.generic_all.deb
  2. рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд╕рд╛рдзрди рд░реЗрдкреЙрдЬрд┐рдЯрд░реА рдШрдЯрдХ рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рд╕рдХреНрд╖рдо рдХрд░рд╛:
    sudo percona-release enable tools experimental
    
  3. percona-dbaas-cli рдкреЕрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛:
    sudo apt-get update
    sudo apt-get install percona-dbaas-cli

рдШрдЯрдХрд╛рдВрдЪреНрдпрд╛ рдСрдкрд░реЗрд╢рдирдЪреА рд╕реНрдерд╛рдкрдирд╛

рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдмрджреНрджрд▓ рдЕрдзрд┐рдХ рдпреЗрдереЗ.

рдкреНрд░рдердо рдЖрдкрдг рдЖрдкрд▓реНрдпрд╛ Google рдЦрд╛рддреНрдпрд╛рдд рд▓реЙрдЧ рдЗрди рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдкреБрдвреЗ, Google рдХреНрд▓рд╛рдЙрдб рдПрдХрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ рдЕрдиреЗрдХ рд╕реНрд╡рддрдВрддреНрд░ рдкреНрд░рдХрд▓реНрдк рдареЗрд╡рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ, рдореНрд╣рдгреВрди рддреБрдореНрд╣рд╛рд▓рд╛ рдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рд╕рд╛рдареА рдХреЛрдб рд╡рд╛рдкрд░реВрди рдХрд╛рд░реНрдпрд░рдд рдкреНрд░рдХрд▓реНрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:

gcloud auth login
gcloud config set project hidden-brace-236921

рдкреБрдвреЗ, рдЖрдореНрд╣реА рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рддрдпрд╛рд░ рдХрд░рддреЛ. рдбреЗрдореЛрд╕рд╛рдареА, рдореА рдлрдХреНрдд рддреАрди рдиреЛрдбреНрд╕рдЪрд╛ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рддрдпрд╛рд░ рдХреЗрд▓рд╛ - рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддреЗрд╕рд╛рдареА рд╣реЗ рдХрд┐рдорд╛рди рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:

gcloud container clusters create --zone us-central1-a your-cluster-name --cluster-version 1.15 --num-nodes=3

рдЦрд╛рд▓реАрд▓ kubectl рдХрдорд╛рдВрдб рдЖрдордЪреНрдпрд╛ рд╡рд░реНрддрдорд╛рди рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ рдЗрдЪреНрдЫрд┐рдд рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рджреЗрддреЗ:

kubectl create clusterrolebinding cluster-admin-binding-$USER 
--clusterrole=cluster-admin --user=$(gcloud config get-value core/account)

рдордЧ рдЖрдкрдг рдиреЗрдорд╕реНрдкреЗрд╕ рддрдпрд╛рд░ рдХрд░рддреЛ рдЖрдгрд┐ рддреЗ рд╕рдХреНрд░рд┐рдп рдХрд░рддреЛ. рдиреЗрдорд╕реНрдкреЗрд╕, рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдПрдЦрд╛рджреНрдпрд╛ рдкреНрд░рдХрд▓реНрдк рдХрд┐рдВрд╡рд╛ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ, рдкрд░рдВрддреБ рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдЖрд╣реЗ. рд╣реЗ Google рдХреНрд▓рд╛рдЙрдб рдкреНрд░рдХрд▓реНрдкрд╛рдВрдкрд╛рд╕реВрди рд╕реНрд╡рддрдВрддреНрд░ рдЖрд╣реЗ:

kubectl create namespace my-namespace
kubectl config set-context --current --namespace=my-namespace

рдХреНрд▓рд╕реНрдЯрд░ рд╕реБрд░реВ рдХрд░рдд рдЖрд╣реЗ

рдПрдХрджрд╛ рдЖрдореНрд╣реА рдпрд╛ рдХрд╛рд╣реА рдЪрд░рдгрд╛рдВрдордзреВрди рдЧреЗрд▓реЛ рдХреА, рдЖрдореНрд╣реА рдпрд╛ рд╕реЛрдкреНрдпрд╛ рдЖрджреЗрд╢рд╛рд╕рд╣ рддреАрди-рдиреЛрдб рдХреНрд▓рд╕реНрдЯрд░ рд╕реБрд░реВ рдХрд░реВ рд╢рдХрддреЛ:

# percona-dbaas mysql create-db example
Starting ......................................... [done]
Database started successfully, connection details are below:
Provider:          k8s
Engine:            pxc
Resource Name:     example
Resource Endpoint: example-proxysql.my-namespace.pxc.svc.local
Port:              3306
User:              root
Pass:              Nt9YZquajW7nfVXTTrP
Status:            ready

рдХреНрд▓рд╕реНрдЯрд░рд╢реА рдХрд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рд╛рд╡реЗ

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

kubectl port-forward svc/example-proxysql 3306:3306 $

рдордЧ рдЖрдореНрд╣реА рддреБрдордЪрд╛ MySQL рдХреНрд▓рд╛рдпрдВрдЯ рдХрдиреЗрдХреНрдЯ рдХрд░реВ:

mysql -h 127.0.0.1 -P 3306 -uroot -pNt9YZquajW7nfVXTTrP

рдкреНрд░рдЧрдд рдХреНрд▓рд╕реНрдЯрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЖрджреЗрд╢

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ IP рд╡рд░ рдбреЗрдЯрд╛рдмреЗрд╕

рддреБрдореНрд╣рд╛рд▓рд╛ рдХреНрд▓рд╕реНрдЯрд░ рдЙрдкрд▓рдмреНрдзрддреЗрд╕рд╛рдареА рдЕрдзрд┐рдХ рдХрд╛рдпрдорд╕реНрд╡рд░реВрдкреА рдЙрдкрд╛рдп рд╣рд╡реЗ рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣реА рдмрд╛рд╣реНрдп IP рдкрддреНрддрд╛ рдорд┐рд│рд╡реВ рд╢рдХрддрд╛. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛрдареВрдирд╣реА рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдЕрд╕реЗрд▓. рд╣реЗ рдХрдореА рд╕реБрд░рдХреНрд╖рд┐рдд рдЖрд╣реЗ, рдкрд░рдВрддреБ рдЕрдиреЗрдХрджрд╛ рдЕрдзрд┐рдХ рд╕реЛрдпреАрд╕реНрдХрд░ рдЖрд╣реЗ. рдмрд╛рд╣реНрдп IP рд╕рд╛рдареА рдЖрдореНрд╣реА рдЦрд╛рд▓реАрд▓ рдЖрджреЗрд╢ рд╡рд╛рдкрд░рддреЛ:

# percona-dbaas mysql create-db exposed 
--options="proxysql.serviceType=LoadBalancer"
Starting ......................................... [done]
Database started successfully, connection details are below:
Provider:          k8s
Engine:            pxc
Resource Name:     exposed
Resource Endpoint: 104.154.133.197
Port:              3306
User:              root
Pass:              k0QVxTr8EVfgyCLYse
Status:            ready

To access database please run the following command:
mysql -h 104.154.133.197 -P 3306 -uroot -pk0QVxTr8EVfgyCLYse

рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдХрд░рд╛

рд╕рд┐рд╕реНрдЯрдо рдпрд╛рджреГрдЪреНрдЫрд┐рдХрдкрдгреЗ рдкрд╛рд╕рд╡рд░реНрдб рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдРрд╡рдЬреА, рддреБрдореНрд╣реА рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдХрд░реВ рд╢рдХрддрд╛:

# percona-dbaas mysql create-db withpw --password=mypassword
Starting ......................................... [done]
Database started successfully, connection details are below:
Provider:          k8s
Engine:            pxc
Resource Name:     withpw
Resource Endpoint: withpw-proxysql.my-namespace.pxc.svc.local
Port:              3306
User:              root
Pass:              mypassword
Status:            ready

рдореА рд╕реНрдХреНрд░рд┐рдкреНрдЯрдЪреЗ рдЖрдЙрдЯрдкреБрдЯ рдорд╛рдирд╡реА рд╡рд╛рдЪрдиреАрдп рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рджрд╛рдЦрд╡рдд рдЖрд╣реЗ, рдкрд░рдВрддреБ JSON рдлреЙрд░рдореЕрдЯрд▓рд╛рд╣реА рд╕рдкреЛрд░реНрдЯ рдЖрд╣реЗ.

рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рдмрдВрдж рдХрд░рдд рдЖрд╣реЗ

рдЦрд╛рд▓реАрд▓ рдЖрджреЗрд╢рд╛рд╕рд╣ рддреБрдореНрд╣реА рдПрдХрд▓ рдиреЛрдб рдЙрдкрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рдЕрдХреНрд╖рдо рдХрд░реВ рд╢рдХрддрд╛:

# percona-dbaas mysql create-db singlenode 
--options="proxysql.enabled=false, allowUnsafeConfigurations=true,pxc.size=1"
Starting ......................................... [done]
Database started successfully, connection details are below:
Provider:          k8s
Engine:            pxc
Resource Name:     singlenode
Resource Endpoint: singlenode-pxc.my-namespace.pxc.svc.local
Port:              3306
User:              root
Pass:              22VqFD96mvRnmPMGg
Status:            ready

рд╣реЗ MySQL рд╢рдХреНрдп рддрд┐рддрдХреНрдпрд╛ рд▓рд╡рдХрд░ рдЖрдгрд┐ рд╕рд╣рдЬрддреЗрдиреЗ рдЪрд╛рд▓реВ рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА рдЪрд╛рдЪрдгреА рдХрд╛рд░реНрдпрд╛рдВрд╕рд╛рдареА рдПрдХ рдЙрдкрд╛рдп рдЖрд╣реЗ, рддреНрдпрд╛рдЪреА рдЪрд╛рдЪрдгреА рдШреНрдпрд╛ рдЖрдгрд┐ рдирдВрддрд░ рддреЗ рдмрдВрдж рдХрд░рд╛ рдХрд┐рдВрд╡рд╛ рд╡рд┐рдХрд╛рд╕рд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд╛.

Percona DBaaS CLI рдЯреВрд▓ рддреБрдореНрд╣рд╛рд▓рд╛ Kubernetes рд╡рд░ DBaaS рд╕рд╛рд░рдЦреЗ рдЙрдкрд╛рдп рд╕рд╛рдзреНрдп рдХрд░рдгреНрдпрд╛рдд рдорджрдд рдХрд░рддреЗ. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рдЖрдореНрд╣реА рддреНрдпрд╛рдЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЖрдгрд┐ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдпрд╛рд╡рд░ рдХрд╛рд░реНрдп рдХрд░рдгреЗ рд╕реБрд░реВ рдареЗрд╡рддреЛ.

рд╣рд╛ рдЕрд╣рд╡рд╛рд▓ рдкреНрд░рдердо рд╕рд╛рджрд░ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓рд╛ @рдбреЗрдЯрд╛рдмреЗрд╕ рдореАрдЯрдЕрдк Mail.ru рдХреНрд▓рд╛рдЙрдб рд╕реЛрд▓реНрдпреБрд╢рдиреНрд╕ рдЖрдгрд┐ рдЯрд╛рд░рдВрдЯреВрд▓ рджреНрд╡рд╛рд░реЗ. рджрд┐рд╕рдд ╨▓╨╕╨┤╨╡╨╛ рдЗрддрд░ рдкрд░рдлреЙрд░реНрдордиреНрд╕ рдЖрдгрд┐ рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдорд╡рд░реАрд▓ рдХрд╛рд░реНрдпрдХреНрд░рдо рдШреЛрд╖рдгрд╛рдВрдЪреЗ рд╕рджрд╕реНрдпрддреНрд╡ рдШреНрдпрд╛ Mail.ru рдЧреНрд░реБрдкрд╡рд░ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдЪреНрдпрд╛ рдЖрд╕рдкрд╛рд╕.

рдпрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░ рдЖрдгрдЦреА рдХрд╛рдп рд╡рд╛рдЪрд╛рдпрдЪреЗ:

  1. рдЖрдзреБрдирд┐рдХ IIoT рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордордзреАрд▓ рдбреЗрдЯрд╛рдмреЗрд╕.
  2. рдкреНрд░рдХрд▓реНрдкрд╛рд╕рд╛рдареА рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╕рд╛ рдирд┐рд╡рдбрд╛рд╡рд╛ рдЬреЗрдгреЗрдХрд░реВрди рддреБрдореНрд╣рд╛рд▓рд╛ рдкреБрдиреНрд╣рд╛ рдирд┐рд╡рдб рдХрд░рд╛рд╡реА рд▓рд╛рдЧрдгрд╛рд░ рдирд╛рд╣реА.

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

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