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.