Deployment zamanı hər hansı bir vəziyyət saxlanılırmı?
sobes.tech Süni İntellekt
AI-dan cavab
Kubernetes-də Deployment yerləşdirərkən, vəziyyət öz-özlüyündə Deployment nəzarətçisi daxilində saxlanılmır. Deployment, bir ReplicaSet-i idarə edir və bu da öz növbəsində Pod-ləri idarə edir. Pod-lər təbiətinə görə efemerdir və yenidən başlatıla və ya silinə bilər.
Deployment ilə yerləşdirilən tətbiqlər üçün vəziyyətin saxlanması adətən digər mexanizmlər vasitəsilə həyata keçirilir:
- Persistent Volumes (PV) və Persistent Volume Claims (PVC): Pod-ların silinməsi və ya yenidən başlatılmasından sonra da əlçatan qalması üçün məlumatların saxlanması üçün istifadə olunur. PV saxlama təmin edir və PVC onu tələb edir.
- ConfigMaps və Secrets: Konfiqurasiya məlumatları və həssas məlumatların (şifrələr, açarlar) konteyner imicindən ayrılmış şəkildə saxlanması üçün istifadə olunur.
- StatefulSets: Vəziyyətli tətbiqləri idarə etmək üçün xüsusi hazırlanmış nəzarətçidir. StatefulSets hər Pod üçün sabit şəbəkə identifikasiyası və davamlı saxlama təmin edir və ardıcıl yerləşdirmə və miqyaslandırma zəmanət verir.
PVC tələbinin Pod manifestində nümunəsi:
# PVC istifadə edən Pod-un təyini
apiVersion: v1
kind: Pod
metadata:
name: vəziyyətli-tətbiqim
spec:
containers:
- name: mənim-konteynerim
image: mənim-imajım
volumeMounts:
- name: məlumat-həcmi
mountPath: /məlumatlar
volumes:
- name: məlumat-həcmi
persistentVolumeClaim:
claimName: mənim-pvc
StatefulSet-in nümunə təyini:
# StatefulSet-in təyini
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mənim-statefulset
spec:
serviceName: "mənim-xidməti"
replicas: 3
selector:
matchLabels:
app: mənim-vəziyyətli-tətbiqim
template:
metadata:
labels:
app: mənim-vəziyyətli-tətbiqim
spec:
containers:
- name: mənim-konteynerim
image: mənim-imajım
volumeMounts:
- name: mənim-həcmi
mountPath: /məlumatlar
volumeClaimTemplates:
- metadata:
name: mənim-həcmi
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 1Gi
Yekun olaraq, Deployment özü vəziyyəti saxlamır. Onun vəzifəsi, yenidən başlatmalar arasında onların şəxsiyyətini və ya vəziyyətini saxlamaq olmadan, lazım olan sayda Pod replikasını təmin etməkdir. Vəziyyətli tətbiqlər üçün StatefulSets, PV/PVC, ConfigMaps və Secrets istifadə olunur.