JET School

Kubernetes nədir?

Kubernetes (tez-tez “K8s” kimi də qısaldılır) — Google tərəfindən yaradılmış və hazırda Cloud Native Computing Foundation tərəfindən idarə olunan açıq mənbə (open-source) platformadır, hansı ki, konteyner əsaslı tətbiqlərin avtomatik yerləşdirilməsi (deployment), miqyaslandırılması (scaling), idarə olunması və orkestrasiyasını həyata keçirir.

Əsas məqsədi nədir?

Müasir tətbiqlər mikroservis memarlığına əsaslandıqda, hər bir xidmət ayrı-ayrı konteynerlərdə yerləşdirilir. Bu konteynerlərin sayı onlarla, yüzlərlə, bəzən minlərlə ola bilər. Kubernetes bu konteynerlərin:

  • Avtomatik yerləşdirilməsini,
  • Təkrar işə salınmasını (rescheduling),
  • Yüklərin balanslaşdırılmasını (load balancing),
  • Resursların optimallaşdırılmasını (CPU, RAM və s.),
  • Yüksək əlçatanlığını və davamlılığını

təmin edən idarəetmə sistemidir.

Kubernetes necə işləyir?

Kubernetes klaster (cluster) anlayışına əsaslanır. Klaster aşağıdakı əsas komponentlərdən ibarətdir:

  • Master Node (İdarəedici qovşaq): Şəbəkənin beyni rolunu oynayır. Klasterdəki bütün işləri koordinasiya edir.
  • Worker Node-lar (İcraedici qovşaqlar): Tətbiqlər və konteynerlər fiziki olaraq bu node-larda yerləşdirilir və işlədilir.

Əsas anlayışlar və obyektlər:

  • Pod: Kubernetes-də konteynerlərin yerləşdiyi ən kiçik vahid. Bir Pod bir və ya bir neçə konteynerdən ibarət ola bilər.
  • Deployment: Tətbiqin müəyyən versiyasını klasterə yerləşdirmək və idarə etmək üçün istifadə olunur.
  • Service: Pod-lar arasında və ya istifadəçi ilə Pod arasında sabit əlaqə yaradır.
  • Namespace: Klaster daxilində resursları loji olaraq bölmək üçün istifadə olunur (məs., test, prod mühitləri).
  • ConfigMap və Secret: Konfiqurasiya məlumatlarının və həssas dataların (məs., parollar) idarə olunması.

Nə üçün Kubernetes seçilir?

  • Avtomatlaşdırma — Əllə müdaxilə etmədən konteynerlərin idarəsi və yenilənməsi.
  • Miqyaslana bilmə — Trafik artdıqda və ya azaldıqda Pod-ların sayını avtomatik artırıb və ya azalda bilir.
  • Yüksək əlçatanlıq və davamlılıq — Hər hansı bir Pod və ya node sıradan çıxsa, sistem avtomatik əvəzləyicisini yerləşdirir.
  • Portativlik — Həm buludda (AWS, Azure, GCP), həm də lokal serverlərdə işləyir.
  • Deklarativ idarəetmə — YAML faylları ilə sistemin vəziyyəti təsvir olunur və Kubernetes onu reallaşdırır.

İnteqrasiya oluna bilən alətlər:

  • Helm – Kubernetes üçün "paket meneceri", kompleks tətbiqləri quraşdırmaq üçün istifadə olunur.
  • Prometheus + Grafana – Monitorinq və vizuallaşdırma.
  • Istio / Linkerd – Service mesh idarəçiliyi və təhlükəsizlik.
  • Kustomize, Argo CD – GitOps əsaslı idarəetmə və konfiqurasiya.

Real istifadə ssenarisi:

Təsəvvür edin ki, siz e-ticarət platforması hazırlayırsınız və onun müxtəlif xidmətləri var: ödəniş, istifadəçi, məhsullar, bildiriş sistemi və s. Hər biri konteynerdə yerləşdirilir. Kubernetes sizə bu xidmətləri nəzarət altında saxlamağa, avtomatik miqyaslandırmağa və sistem çökəndə özünü bərpa etməyə kömək edir.

Nəticə

Kubernetes, konteyner əsaslı tətbiqlərin kompleks infrastruktur mühitlərində etibarlı və avtomatlaşdırılmış şəkildə işləməsini təmin edən müasir texnologiyadır. O, DevOps komandalarına çevik inkişaf (Agile), CI/CD və mikroxidmət arxitekturası kimi yanaşmaları real layihələrdə tətbiq etməyə imkan verir.

Əgər böyük miqyaslı və dinamik tətbiqlər qurmaq istəyirsinizsə, Kubernetes əvəzolunmaz bir platformadır.

IT sahəsini dərindən öyrənmək üçün kurslarımıza qoşulun. Ətraflı məlumat almaq üçün sorğu göndərin!