Sobes.tech
Junior

Kubernetes-də Pod və Deployment arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Pod — Kubernetes-də yerləşdirmə üçün ən kiçik vahid olub, bir və ya bir neçə konteynerdən ibarət qrupdur və birgə yaddaş və şəbəkə resurslarını paylaşır, həmçinin konteynerin işə salınması üçün spesifikasiya daxildir. Deployment — Kubernetes-in deklarativ olaraq Pod-ların yenilənməsini təmin edən idarəedicisidir. O, tətbiqin arzu olunan vəziyyətini təsvir edir və Pod-ların versiyalarını avtomatik olaraq yerləşdirmə, yeniləmə və geri almağı təmin edir, Pod replikalarının həyat dövrünü idarə edir.

Əsas fərqlər:

  • Vahid: Pod — əsas planlaşdırma və yerləşdirmə vahidi; Deployment — Pod-ları idarə edən yüksək səviyyəli idarəedicidir.
  • Həyat dövrü: Pod-lar öz-özünü bərpa edən mexanizmlərə malik deyil (yalnız uğursuz olduqda konteynerləri yenidən başlatmaq); Deployment uğursuz Pod-ları avtomatik olaraq əvəz edir və onların miqyasını idarə edir.
  • Miqyaslandırma: Pod-ların birbaşa miqyaslandırılması effektiv deyil; Deployment, Pod replikalarının sayını asanlıqla miqyaslandırmağa imkan verir.
  • Yeniləmə/Geri alma: Pod-lar versiyalaşdırma və ya yerləşdirmə/geri alma strategiyalarını dəstəkləmir; Deployment, yumşaq yeniləmələr və sürətli versiya geri alma üçün strategiyalar təklif edir.

Pod manifest nümunəsi:

apiVersion: v1
kind: Pod
metadata:
  name: my-app-pod
spec:
  containers:
  - name: my-app-container
    image: nginx:latest
    ports:
    - containerPort: 80

Deployment manifest nümunəsi:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app-deployment
spec:
  replicas: 3 # Podların arzu olunan replikası sayını göstərir
  selector:
    matchLabels:
      app: my-app # Bu Deployment tərəfindən idarə olunan Pod-ları seçmək üçün seçici
  template:
    metadata:
      labels:
        app: my-app # Pod-lar üçün etiket
    spec:
      containers:
      - name: my-app-container
        image: nginx:latest
        ports:
        - containerPort: 80

Müqayisə:

Xüsusiyyət Pod Deployment
Səviyyə Aşağı, əsas vahid Yüksək, idarəedici
İdarəetmə Birbaşa, avtomatlaşdırma olmadan Deklarativ, avtomatlaşdırılmış
Miqyaslandırma Əl ilə, tövsiyə edilmir Avtomatlaşdırılmış, replikalara görə
Yeniləmələr Versiyalaşdırma və ya yerləşdirmə/geri alma dəstəklənmir Deklarativ strategiyalar və yeniləmələr
Geri alma Dəstəklənmir Dəstəklənir
Öz-özünü bərpa Məhdud (konteynerin yenidən başlatması) Avtomatik Pod dəyişdirilməsi

Əksər hallarda, Kubernetes-də tətbiqləri yerləşdirərkən, Pod-ları idarə etmək və etibarlılıq, miqyaslandırma və avtomatlaşdırma təmin etmək üçün Deployment-lər istifadə olunur.