Middle
Kubernetes-də limitlər və sorğular nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Kubernetes-də limits və requests konteynerlər üçün resursların (CPU və yaddaş) istifadəsini müəyyən edir.
requests: Konteynerin istifadə etməyə çalışdığı minimum təmin edilmiş resurslar miqdarıdır. Kubernetes planlayıcısı, tələb olunan resursları nəzərə alaraq podları düyünlərə paylayır və elan olunan resursların mövcudluğunu təmin edir.limits: Konteynerin istifadə edə biləcəyi maksimum resurslar miqdarıdır. Əgər konteyner yaddaş limitini aşmağa çalışarsa, o, sonlandırılacaq (OOMKilled). CPU limitini aşmaq onun performansını məhdudlaşdırır, lakin sonlandırmır.
Pod spesifikasiyasında nümunə:
# Konteynerin spesifikası
containers:
- name: my-app
image: my-image
resources:
requests:
memory: "64Mi" # 64 megabayt yaddaş tələb edir
cpu: "250m" # 0.25 CPU nüvəsi tələb edir (250 millicore)
limits:
memory: "128Mi" # 128 megabayt yaddaş limiti
cpu: "500m" # 0.5 CPU nüvəsi limiti (500 millicore)
Ölçü vahidləri:
- CPU: Millikore (
m) ilə. 1000m = 1 nüvə. - Yaddaş: Baytlarda (B, kB, MB, GB, Ti, Pi...), üstünlük verilən ikili qüvvələrdən istifadə edilərək (Ki, Mi, Gi, Ti, Pi...).
Əhəmiyyəti:
- Planlaşdırma: Requests, Kubernetes-in podları effektiv şəkildə düyünlər arasında paylamasına kömək edir və yüklənmənin qarşısını alır.
- Stabillik: Limits, bir podun resursları monopolizə etməsinin qarşısını alır və klasterin stabilliyini artırır.
- Xərclərin idarə olunması: Resursların istifadəsini qiymətləndirməyə və nəzarət etməyə imkan verir, bulud xərclərinə təsir edir.
Limits və requests təyin edilmədikdə, konteynerlər məhdudiyyətsiz resurslar ala bilər, bu isə yüksək yüklənmə zamanı düyünlərin və bütün klasterin stabilliyinə təhlükə yarada bilər.