Kaip vienas startuolis nuo docker-compose pateko į „Kubernetes“.

Šiame straipsnyje norėčiau pakalbėti apie tai, kaip pakeitėme požiūrį į orkestravimą savo startuolio projekte, kodėl tai padarėme ir kokias problemas išsprendėme. Šis straipsnis vargu ar gali teigti, kad yra unikalus, bet vis tiek manau, kad jis gali būti kažkam naudingas, nes sprendžiant problemą medžiagą surinkome neblogai girgždėdami.  

Ką mes turėjome ir apie ką kalbame? Ir mes turėjome startuolio projektą su maždaug 2 metų plėtros istorija iš reklamos srities. Iš pradžių projektas buvo sukurtas kaip mikro paslauga, o jo serverio dalis buvo parašyta Symfony + šiek tiek Laravel, Django ir vietiniais NodeJ. Paslaugos iš esmės yra mobiliųjų klientų API (projekte jų yra 3) ir mūsų pačių SDK skirtas IOS (įmontuotas į mūsų klientų programas), taip pat žiniatinklio sąsajos ir įvairios tų pačių klientų informacijos suvestinės. Iš pradžių visos paslaugos buvo prijungtos prie doko ir jas valdė docker-compose.

Tiesa, docker-compose buvo naudojamas ne visur, o tik vietinėje kūrėjų aplinkoje, testavimo serveryje ir vamzdyno viduje kuriant ir testuojant paslaugas. Tačiau gamybinėje aplinkoje buvo naudojamas „Google Kubernetes Engine“ (GKE). Be to, GKE konfigūravimą projekto pradžioje atlikome visiškai per jo žiniatinklio sąsają, kuri buvo gana greita ir, kaip mums tada atrodė, patogi. Čia buvo automatizuotas tik „Docker“ vaizdų kūrimo procesas, kad būtų paleistos GKE paslaugos.

Skaityti daugiau