تخطَّ إلى المحتوى

☸️ شرح Kubernetes

كيف تضبط التوسيع التلقائي لـ Deployment في Kubernetes؟

الدرس 30 من 35· ⏱ 1 دقائق قراءة

فهمنا مفهوم التوسيع الأفقي (HPA)؛ سنضبطه الآن عمليًا على Deployment. درس متقدّم.

⚠️ الأوامر تمثيلية؛ شغّلها على عنقودك للتأكّد.

المتطلّب المسبق: metrics-server

لا يستطيع HPA اتّخاذ قرار دون مقاييس. تأكّد أوّلًا من تفعيل metrics-server في عنقودك (على Minikube: minikube addons enable metrics-server)، وإلّا لن يعمل التوسيع.

الخطوة 1: أنشئ HPA

أبسط طريقة عبر سطر الأوامر:

kubectl autoscale deployment web --cpu-percent=50 --min=2 --max=10

يعني: أبقِ متوسّط استهلاك المعالج قرب 50%، مع الحفاظ على ما بين نسختين و10 نسخ. (يمكن فعل ذلك أيضًا عبر ملفّ HPA كما في درس المفهوم.)

الخطوة 2: راقب الحالة

kubectl get hpa

سترى الهدف، والاستهلاك الحالي، وعدد النسخ الحالي. راقبه أثناء التجربة.

الخطوة 3: ولّد حملًا وشاهد التوسيع

أرسل حملًا مصطنعًا إلى الخدمة (عبر أداة توليد طلبات)، ثم راقب:

kubectl get hpa --watch
kubectl get pods --watch

مع ارتفاع استهلاك المعالج فوق 50%، ستلاحظ HPA يزيد عدد الـ pods تدريجيًا حتى الحدّ الأقصى. وعند توقّف الحمل، يقلّلها بعد فترة تهدئة.

أخطاء شائعة

  • HPA لا يوسّع: غالبًا metrics-server غير مفعّل، أو الـ Deployment بلا requests للمعالج (يحتاج HPA قيمة مرجعية).
  • توسيع متذبذب: عتبة منخفضة جدًا أو حمل متقطّع؛ اضبط الهدف والحدود.

الخطوات التالية

راجع مفهوم HPA، والتوسيع اليدوي في الـ Deployment.

شرح كيف تضبط التوسيع التلقائي لـ Deployment في Kubernetes؟ — Kubernetes بالعربي
كيف تضبط التوسيع التلقائي لـ Deployment في Kubernetes؟Kubernetes بالعربي · The Code Fix

هل كان هذا الدرس مفيدًا؟