Bir başlanğıc docker-compose-dən Kubernetesə necə keçdi

Bu yazıda startap layihəmizdə orkestrləşməyə yanaşmanı necə dəyişdiyimizdən, bunu nə üçün etdiyimizdən və bu yolda hansı problemləri həll etdiyimizdən danışmaq istərdim. Bu məqalə çətin ki, unikal olduğunu iddia edə bilər, amma yenə də hesab edirəm ki, bu, kiməsə faydalı ola bilər, çünki problemin həlli prosesində material bizim tərəfimizdən layiqli bir cırıltı ilə toplanmışdır.  

Nəyimiz var idi və nədən danışırıq? Və bizim reklam sahəsindən təxminən 2 illik inkişaf tarixi olan bir başlanğıc layihəmiz var idi. Layihə əvvəlcə mikroservis kimi qurulmuşdu və onun server hissəsi Symfony + bir az Laravel, Django və yerli NodeJ-lərdə yazılmışdır. Xidmətlər əsasən mobil müştərilər üçün API (layihədə onlardan 3-ü var) və IOS üçün öz SDK-mız (müştərilərimizin tətbiqlərində quraşdırılmışdır), həmçinin bu eyni müştərilərin veb interfeysləri və müxtəlif idarə panelləridir. Bütün xidmətlər əvvəlcə dokerləşdirilmiş və docker-compose tərəfindən idarə edilmişdir.

Doğrudur, docker-compose hər yerdə deyil, yalnız tərtibatçıların yerli mühitində, test serverində və xidmətlərin qurulması və sınaqdan keçirilməsi zamanı boru kəmərinin daxilində istifadə olunurdu. Lakin istehsal mühitində Google Kubernetes Engine (GKE) istifadə edilmişdir. Üstəlik, biz layihənin əvvəlində GKE konfiqurasiyasını tamamilə onun veb interfeysi vasitəsilə etdik, o, kifayət qədər sürətli və o vaxt bizə göründüyü kimi, rahat idi. Burada yalnız GKE-də xidmətləri işə salmaq üçün docker şəkillərinin yaradılması prosesi avtomatlaşdırılıb.

daha ətraflı