Scaling و Quotas و Upgrades
أنواع Scaling
Section titled “أنواع Scaling”| النوع | ماذا يزيد؟ |
|---|---|
| Horizontal Pod Autoscaler | عدد Pods |
| Vertical Pod Autoscaler | requests/limits للـ Pods |
| Cluster Autoscaler | عدد Nodes |
ResourceQuota
Section titled “ResourceQuota”ResourceQuota يحدد سقفا للموارد داخل Namespace.
apiVersion: v1kind: ResourceQuotametadata: name: dev-quotaspec: hard: requests.cpu: "2" requests.memory: 4Gi limits.cpu: "4" limits.memory: 8Gi pods: "20"LimitRange
Section titled “LimitRange”LimitRange يضع قيم افتراضية أو حدودا لكل Container داخل Namespace.
apiVersion: v1kind: LimitRangemetadata: name: defaultsspec: limits: - type: Container defaultRequest: cpu: 100m memory: 128Mi default: cpu: 500m memory: 512MiUpgrades
Section titled “Upgrades”تحديث Kubernetes يجب أن يكون مخططا:
- اقرأ release notes.
- حدث بيئة staging أولا.
- تأكد من توافق add-ons مثل CNI و CSI و Ingress.
- استخدم PodDisruptionBudget للتطبيقات المهمة.
- لا تحدث كل شيء مرة واحدة بدون خطة rollback.
Lab: Namespace بحدود موارد
الهدف: إضافة ResourceQuota و LimitRange وتجربة إنشاء Deployment.
- أنشئ Namespace جديد.
- طبق ResourceQuota.
- طبق LimitRange.
- أنشئ Deployment بدون resources وشاهد القيم الافتراضية.
- حاول تجاوز quota ولاحظ الخطأ.