Skip to main content

Kubernetes - I Hissə

Salam dostlar,

Bu məqalədə sizə
 "Kubernetes"​ haqqında bəhs edəcəm. Kubernetes nədir? Bu barədə kiçik bir giriş vermək istərdim. Beləliklə:

Kubernetes, həm nəqli konfiqurasiyanı, həm avtomatlaşdırmanı, həm də konteynerləşdirilmiş iş yükü və xidmətlərini təmin edən və "manual"​ proseslərin avtomatlaşdırılmasını həyata keçirən açıq mənbəli bir platformadır. Xidmətləri, dəstək və vasitələri geniş yayılmış Kubernetes əhatəli və sürətlə böyüyən bir ekosistemə malikdir. Kubernetes yunan dilindən tərcümədə "sükançı"​ (qayıq, gəmini idarə edən) və ya "pilot"​ anlamını ifadə edir. Kubernetes qısaca olaraq "k8s"​ (K-u1-b2-e3-r4-n5-e6-t7-e8-s, ilk "​k"​ hərfindən son "​s"​ hərfinə olan "​8"​ hərf "ubernete"​ olduğu üçün k8s) və ya "kube"​ kimi də adlandırılır. Kubernetes "Go"​ proqramlaşdırma dilində yazılmış və 2014-cü ildə "Google"​ şirkəti tərəfindən "open-source"​ kimi təqdim edilmişdir.

Dostlar, keçmişə səhayət və keçmiş ilə indiki dövrü müqayisə edərək, Kubernetes-in niyə bu qədər əlverişli və faydalı olduğunu bilmək istərdinizmi?! O zaman aşağıdakı şəkildə olan keçmiş və indiki dövrü özündə əks etdirən müqayisəli izaha başlayaq.

No alt text provided for this image

"Traditional deployment"​ dövrü: Bu dövrü ənənəvi dövr adlandırmaq olar. Hansı ki, bu dövrdə şirkətlər, idarələr, müəssisələr və s. ənənəvi olaraq fiziki server-lərdən istifadə edirdilər. Bu zaman, maliyyə imkanları yüksək olan bəzi böyük şirkətlər həddindən artıq maliyyə xərcləri çəkərək tətbiqlərin mükəmməl, fasiləsiz işləməsi və sistemin stabilliyinin təmin edilməsi, iş yükünün asan bölüşdürülməsi və s. istiqamətində hər bir tətbiq üçün ayrıca bir fiziki server və əməliyyat sistemi qurmaq məcburiyyətində qalırdılar. Maliyyə imkanları az olan bəzi şirkət və müəssisələr isə tətbiqləri bir fiziki server-də istifadə edirdilər ki, bu zaman bir tətbiqin funksionallığı bütün fiziki server-in resurslarını həddindən artıq əhatə edirdisə, bu da eyni fiziki server-də yer alan digər tətbiqlərin funksionallığına öz mənfi təsirini göstərmiş olurdu.

"Virtualized deployment"​ dövrü: Ənənəvi dövrə nisbətən bu dövr daha məqsədə uyğun dövr hesab olunur və bu dövrü virtuallaşdırma dövrü kimi adlandırsaq, fikrimcə heç də yanılmarıq. Bu zaman virtualizasiya anlayışı meydana gəldi ki, ənənəvi dövrdə olan hər bir fiziki server üçün ayrıca əməliyyat sistemi qurub, üzərində tətbiqlər həyata keçirməkdənsə, (əhatəli və geniş resurslara malik) bir fiziki server üzərində virtualizasiya qurub, həmin virtualizasiya üzərində də bir çox virtual maşınlar (VM) yaradaraq, müxtəlif tətbiqlərin həyata keçirilməsini təmin etmək mümkün olurdu. Bu zaman hər bir virtual maşını əməliyyat sistemi daxil olmaqla, bütün komponentləri virtualizasiya edilmiş cihazın üzərində işləyən bütöv bir maşın fərz etmək olar.

Container deployment dövrü: Bu dövrü konteynerləşdirmə dövrü adlandırmaq olar. Virtual maşına (VM) bənzəyən konteyner, əməliyyat sistemini tətbiqetmələr arasında bölüşmək üçün izolyasiya xüsusiyyətlərinə malikdir və həmçinin virtual maşın kimi hər bir konteynerin öz fayl sistemi, mərkəzi nüvə payı, yaddaş, (hesablama) emal sahəsi və s. vardır. Konteynerlər əsas (fiziki) infrastrukturdan ayrıldıqları üçün "cloud"​ və "distribution"​-lar arasında daşına bilir. Beləliklə, konteynerlər bu günümüzdə verdikləri aşağıdakı əlavə xüsusiyyətlərinə və istifadəsinə görə virtualizasiyadan daha çox məhşur olmuşdur:

  • Tətbiqetmənin asan, sürətli yaradılması və yerləşdirilməsi: VM "image"​ ilə müqayisədə konteyner-də "image"​ yaradılmasının daha asan və səmərəli olması;
  • Davamlı inkişaf, inteqrasiya və yerləşdirmə: Konteyner sürətli və effektiv "rollback"​ ilə etibarlı "image"​ qurmağı və yerləşdirilməni təmin edir;
  • Dev və Ops-un ayrılması (Dev-Development və Ops-Operations): Proqram inkişaf nəticəsində sərbəst buraxıldıqda, konteynerə çevrilir. Daha sonra konteyner müvafiq infrastruktura yerləşdirilir ki, bu zaman tətbiqlər infrastrukturdan ayrılır;
  • Tətbiqi müşahidələr yalnız əməliyyat sistemi səviyyəsində məlumatları və metrikləri deyil, sağlamlığı və digər göstəriciləri da səthə çıxarır;
  • İnkişaf, sınaq və istehsalda ətraf mühitin tutarlılığı və uyğunluğu: "Cloud"​-da olduğu kimi fiziki olaraq kompüterdə də eyni şəkildə işləyir;
  • Cloud və əməliyyat sisteminin portativliyi (daşınması): "Ubuntu"​"RHEL"​"CoreOS"​ "cloud"​​ ilə yanaşı "on premise"​ kimi daxili (fiziki) mühitdə də işləyir;
  • Tətbiqi mərkəzli idarəetmə: Tətbiqləri inkişaf etdirərkən, tətbiqetmənin işləyəcəyi virtual maşınların yerləşməsi, tətbiqetmələrin bir-birləri əlaqə qurması və idarə olunmasına diqqət yetirilir;
  • Mikroservislər: Proqramlar monolitik toplum kimi deyil, böyük bir maşın üzərində işləyir və daha kiçik, müstəqil hissələrə bölünür, eləcə də proqramlar dinamik şəkildə yerləşdirilə və idarə edilə bilər;
  • Resurs izolyasiyası: Proqnozlaşdırılan tətbiqetmə performansı;
  • Resursdan istifadə: Yüksək effektivlik və intensivlik.

Kubernetes istifadəçilərə hansı üstünlükləri verir?

  • Böyüyən ekosistemi nəzarət altında saxlamağa, sistemdə axtardığınız hər bir məlumatı saniyələr içərisində tapmağa imkan verir;
  • Proqramı istifadə edərək tətbiqlərinizdə baş verən problemləri qısa müddətdə həll edə bilərsiniz;
  • Proqram sayəsində "cloud"-dakı yük balanslarına nəzarət edə və anbarınızı daim nəzarət altında saxlaya bilərsiniz;
  • Kubernetes hibrid "cloud" texnologiyasını da dəstəklədiyindən, fərqli nöqtələrə keçməyinizi və konteynerlərinizi nəql etməyinizi təmin edir. Beləliklə, sürətli bir şəkildə inteqrasiya prosesi imkanı əldə etdiyiniz üçün birdən çox mühitdə işləmək fürsəti də əldə edirsiniz;
  • Sistem sayəsində tətbiqlərin yeniləmələrini nəzarət altında saxlaya, proqram ilə versiya keçidlərini idarə edə, eləcə də bu zaman qaynaqlanan hər hansı bir problemi qısa müddətdə aradan qaldıra bilərsiniz. Bu şəkildə hər bir proqram üçün ayrıca bir nəzarət prosesi olmadığından vaxtınıza qənaət etmiş olursunuz;
  • Kubernetes, tətbiqlərdə çatışmazlıqlar aşkar etdikdən sonra işi sizə həvalə etmədən avtomatik düzəlişlərə başlayır ki, bu zaman işiniz heç bir fasilə vermədən sağlam və effektiv bir şəkildə davam edir.

Beləliklə, dünyada texnoloji inkişaf sürətlə gedir və bu baxımdan Kubernetes artan yüklərin öhdəsindən gəlmək üçün istifadə edilməli bir vasitəyə çevrilir. Artan iş qabiliyyəti ilə bəzi böyük şirkət və idarələrin bu yükləri təkbaşına idarə etməsi çox çətin olduğundan Kubernetes, konteynerlərimizi və tətbiqlərimizi daha asan idarə etməyimizə kömək edir. Konteynerlər tətbiqləri toplamaq və idarə etmək üçün yaxşı bir yoldur. Bir konteyner sönərsə, başqa bir konteyner dərhal fəaliyyətə başlamalıdır. Beləliklə, Kubernetes tam olaraq paylanmış sistemləri sürətli şəkildə idarə etmək üçün bir çərçivə təqdim edir ki, bu da Kubernetes-in iş funksiyasının tam və xüsusi olmasını təşkil edir. Kubernetes-in ilk və ən vacib funksiyası, istifadəçilərin "cloud" -da işlərinin optimallaşdırmasına imkan verməkdir. Bu da, konteynerlərdə işi asanlaşdırır və ən böyük istifadə sahələrindən biri olan "cloud" -dakı konteynerlərdə mövcud olan tətbiqləri asanlıqla idarə etmək mümkün olur. Əslində, Kubernetes "Docker" xaricindəki konteyner mühərriklərini də dəstəkləyir ki, məhz bu səbəbdən də konteyner texnologiyası ilə uyğun şəkildə işləyir. Konteyner texnologiyası qısa müddətdə böyük yüklərin daşınması, hətta "petabayt" həcmində yer tutan yüklərin istifadəsi və idarə olunması üçün istifadə olunan bir texnologiyadır. Bununla birlikdə, konteynerin də həcmi həddindən artıq böyüyə bilər və bu zaman konteynerə nəzarət etmək çətinləşə bilər ki, irihəcmli konteynerlərin asan və effektiv idarə edilməsi üçün Kubernetes texnologiyası ortaya çıxdı.

Dostlar,

Fikrimcə, Kubernetes haqqında məqalənin ilk (I) hissəsində bu qədər, növbəti (II) hissədə Kubernetes haqqında daha da dərin və müfəssəl məlumatları sizə təqdim edəcəm. Güman edirəm ki, məqalə bilgilənmə istiqamətində işinizə yarayacaqdır.

Təşəkkür edirəm və uğurlar!

Hörmətlə,
Müəllif
Araz Əhmədov

Comments

Popular posts from this blog

Fayl Bərpa Alqoritmləri

  Salam dostlar, Bu yazımda sizə fayl bərpa proqramlarının (Recuva, Wondershare, EaseUS Data Recovery və s.) faylları bərpa etməsi haqqında bəhs etmək istərdim ki, məhz bu proqramlar silinmiş məlumatların (şəkil, video, sənəd və s.) geri qaytarılması üçün xüsusi alqoritmlərdən istifadə edir. Bu prosesin texniki tərəflərini izah etmək üçün əvvəlcə bir neçə əsas anlayışı bilmək lazımdır: Silinmiş faylların vəziyyəti Əksər fayl sistemlərində (məsələn, NTFS, FAT32, exFAT) fayl silindikdə, həmin fayl fiziki olaraq diskin üzərindən silinmir ki, bu zaman: Fayl sistemində faylın olduğu yer boş olaraq işarələnir və həmin sahə üzərində yeni məlumat yazıla bilməsi üçün icazə verilir; Faylın "metadata"-ları (fayl adı, ölçüsü, yaradılma tarixi və s.) xüsusi strukturlarda saxlanılır (məsələn, NTFS-də MFT / Master File Table). Bu səbəbdən, fayl silindikdən dərhal sonra onu bərpa etmək mümkündür, çünki həmin məlumat fiziki olaraq diskin üzərində qalır. Ancaq yeni məlumat həmin yerə yazıldıqd...

How To Install WordPress On Rocky Linux 9

WordPress is widely recognized as the preferred platform for building websites and blogs due to its ease of use and wide range of customization features. Suppose you’re considering installing WordPress on Rocky Linux, an open-source operating system known for its reliability. In that case, you’ll find the process to be quite straightforward when coupled with the LAMP stack – Linux, Apache, MySQL, and PHP. In the following article, we will guide you through each step of setting up WordPress on Rocky Linux using LAMP, allowing you to get your website or blog up and running smoothly in no time. So, let’s dive into the process! Install WordPress On Rocky Linux 9 Step 1: Update Your System in Rocky Linux Step 2: Installation process of LAMP Step 3: Install WordPress in Rocky Linux 9 Step 4: Configuration of Database Step 5: Configuration of WordPress Step 6: Configuration of Firewall settings Step 7: Log in to WordPress Step 1: Update Your System in Rocky Linux Before installing any new sof...

Fayl şifrələmə vasitələri (Linux)

Salam dostlar, Bu məqaləmdə "linux"-da istifadə olunan bəzi fayl şifrələmə vasitələri (file encryption tools) haqqında bəhs edəcəm. Beləliklə, fayl şifrələməsi nədir və "linux"-da hansı fayl şifrələmə vasitələri mövcuddur? Fayl şifrələməsi mübadilə edilən məlumatların oxunmaz vəziyyətə çevrilməsi prosesidir ki, faylların şifrələnməsi təhlükəsizlik baxımından çox vacibdir. Beləliklə, "linux"-da faylların şifrələməsini həyata keçirən bəzi vasitələr (tools) mövcuddur: "GnuPG (GPG)" "GnuPG" şifrələmə və rəqəmsal imza məqsədləri üçün geniş istifadə olunan pulsuz və açıq mənbəli proqramdır ki, faylları və e-poçtları şifrələmək, eləcə də deşifrə etmək üçün "OpenPGP" standartından istifadə edir. Bu şifrələmə platformasınds əvvəlcə "public key" və "private key" yaradılmalıdır ki, bu zaman "public key" şifrələmə (encrypt), "private key" isə şifrənin açılması (decrypt) üçü...