Yaqinda bo‘lib o‘tgan DevOpsDays Tashkent konferensiyasida UzCloud bulutli mahsulotlar yo‘nalishi rahbari Artem Grinberg zamonaviy konteyner platformalarining ichki arxitekturasi haqida ma’ruza qildi. Nutq asosini uning infratuzilmani 4000 ta faol klastergacha kengaytirish bo‘yicha shaxsiy amaliy tajribasi tashkil etdi. Bugungi kunda mijozlar muhitining maksimal barqarorligini ta’minlash uchun ushbu tekshirilgan muhandislik yondashuvlarini UzCloud arxitekturasiga joriy etmoqdamiz.
Ushbu maqolada ma’ruzaning asosiy tezislarini batafsil tahlil qilamiz, boshqariladigan Kubernetes xizmatlarining ishlash mantig‘ini tushuntiramiz, nosozliklarga chidamli tizimlarni loyihalash xususiyatlari haqida gapiramiz hamda alohida muhitlarning yirik flotini samarali boshqarishga yordam beradigan vositani ko‘rib chiqamiz.

Managed Kubernetes nima va u qanday vazifalarni hal qiladi
Kubernetes platformasi konteynerlashtirilgan ilovalarni joylashtirish, kengaytirish va boshqarishni avtomatlashtirishda sanoat standartiga aylandi. Biroq bunday infratuzilmaga mustaqil xizmat ko‘rsatish AKT jamoasidan chuqur ekspert bilimlari va doimiy vaqt talab qiladi. Muhandislar boshqaruv konturi (Control Plane), tarmoq konfiguratsiyalari, monitoring tizimlari, yangilanishlar va asosiy xavfsizlikni qo‘lda sozlashga majbur bo‘ladilar.
Boshqariladigan xizmat (Managed Kubernetes) ma’muriyatchilikning odatiy vazifalarini infratuzilma provayderiga yuklaydi. Provayder boshqaruv konturini joylashtirish, uning nosozliklarga chidamliligini ta’minlash, muntazam yangilanishlar va kecha-yu kunduz monitoringni o‘z zimmasiga oladi. Natijada texnik jamoangiz foydalanishga tayyor muhitni qo‘lga kiritadi va serverlarni qo‘llab-quvvatlashga chalg‘imasdan, kod yozish hamda mahsulotni rivojlantirishga e’tibor qaratishi mumkin.
Kengaytirish muammosi: nega klassik sxema samaradorligini yo‘qotadi
Boshqariladigan klasterlar soni kam bo‘lganda, muhandislar odatda markazlashtirilgan push-boshqaruv modelidan foydalanadilar. Bunday sxemada resurslarni yaratish, o‘zgartirish yoki o‘chirish buyruqlari yagona ichki ma’muriyatchilik konturidan to‘g‘ridan-to‘g‘ri mijoz muhitiga yuboriladi.
Ushbu yondashuv platforma foydalanuvchilar tomonida avtomatik kengaytirish (autoscaling) vazifalarining keskin o‘sishiga duch kelguniga qadar barqaror ishlaydi. Mijoz ilovasi ichidagi yuklama o‘zgarganda, avtomatlashtirilgan tizim fon jarayonlarining uzun zanjirini ishga tushiradi:
- Yangi virtual mashinalarni ajratish.
- Tarmoq yo‘nalishlarini qayta hisoblash.
- Konfiguratsiyalarni yangilash.
- Meta-ma’lumotlarni dolzarblashtirish.
Ushbu jarayonlar bir vaqtning o‘zida yuzlab muhitlarda sodir bo‘lganda, markaziy boshqaruv konturiga yuklama chiziqli bo‘lmagan tarzda o‘sadi. Eski monolit sxema yagona nosozlik nuqtasiga (SPOF) aylanadi. Fon vazifalari navbati to‘planib qoladi, ichki operatsiyalarni kuzatish qiyinlashadi, yangilanishdagi xatolar esa qo‘shni jarayonlarga ta’sir qilishi mumkin. Yirik infratuzilmalarni xavfsiz boshqarish uchun maxsus arxitektura qatlami zarur.
Orkestratorlar ustidan orkestrator konsepsiyasi
Bu maxsus orkestratsiya qatlami bo‘lib, uni orkestratorlar ustidan orkestrator deb atash mumkin. Agar standart Kubernetes bitta ilova ichidagi konteynerlarni boshqarsa, KubeTL ko‘plab ajratilgan klasterlar faoliyatini yagona ekotizim sifatida muvofiqlashtiradi.
Ushbu arxitekturani joriy etish uchta asosiy muhandislik yechimiga tayanadi:
-
Agentlarning pull-modeliga o‘tishi. Buyruqlarni markaziy konturdan mijozning yopiq tarmog‘iga yuborish o‘rniga, har bir klaster ichiga maxsus
kubetl-agentkomponenti o‘rnatiladi. Bu agent dolzarb vazifalarni olish uchun himoyalangan gRPC-ulanish orqali boshqaruv serverlariga mustaqil ravishda murojaat qiladi. Ushbu yechim mijoz tarmoqlarida kiruvchi portlarni ochish zaruriyatini yo‘q qiladi, umumiy xavfsizlikni oshiradi va NAT ortidagi serverlarga ulanish muammolarini hal qiladi. - Alohida vazifalarga asoslangan bajarilish modeli (Job-Based Execution). Yangilanishlarni o‘rnatish, yangi noda qo‘shish yoki klasterni noldan joylashtirish kabi har qanday harakat alohida atomar vazifa sifatida rasmiylashtiriladi. Bu operatsiya holatini real vaqt rejimida kuzatish, tarmoqdagi uzilishlar sodir bo‘lganda uni xavfsiz qayta ishga tushirish va qo‘shni muhitlar ishini buzish xavfisiz aniq vazifalarni bekor qilish imkonini beradi.
- Ommaviy yangilanishlarning boshqariladigan jarayonlari (Rollout). Global rejali ishlarni amalga oshirish uchun vazifalarni guruhlash (batching) va ularni bajarish tezligini cheklash (rate limiting) mexanizmlaridan foydalanamiz. Agar navbatdagi serverlar guruhini yangilashda xatolarning ruxsat etilgan chegaradan oshishi qayd etilsa, tizim jarayonni avtomatik ravishda to‘xtatadi, bu esa muammoni mahalliylashtirish va nosozlik butun infratuzilmaga tarqalishining oldini olish imkonini beradi.
Muhandislik standartlari va natijalar
Tavsiflangan arxitekturaviy yondashuv xizmatlarning yuqori darajada mavjudligini saqlab qolgan holda, minglab klasterlardan iborat texnologik to‘siqlarni muvaffaqiyatli yengib o‘tishga imkon beradi. Pull-modeli va atomar vazifalarni qo‘llash aniq natijalarni ta’minlaydi:
- Infratuzilmani boshqarish bilan bog‘liq ichki platforma insidentlari soni taxminan uch baravarga kamayadi.
- Boshqaruv konturi resurslarini to‘g‘ri rejalashtirish (capacity planning) hisobiga gorizontal kengaytirish jarayoni to‘liq nazorat ostiga olinadi.
Yirik AKT-transformatsiyalarini amalga oshirishdagi amaliy tajriba ishonchli bulutli mahsulotlarni rivojlantirishga yordam beradi. Bugungi kunda ushbu avtomatlashtirish va xavfsizlik standartlarini UzCloud ommaviy xizmatlariga faol ravishda tatbiq etmoqdamiz. Platformaning jismoniy infratuzilmasi O‘zbekiston hududida joylashgan bo‘lib, bu mijozlarga tarmoqning minimal kechikishini ta’minlaydi hamda ma’lumotlarni mahalliylashtirish bo‘yicha milliy talablarga qat’iy rioya qilinishini kafolatlaydi.
Agar AKT jamoangizga konteynerlar bilan ishlash uchun ishonchli muhit kerak bo‘lsa, texnik imkoniyatlar haqida ko‘proq bilib olishingiz va O‘zbekistonda Managed Kubernetes xizmatini ulashingiz mumkin.