حصص الموارد ونطاقات الحدود
امنع مشكلات الجيران المزعجين وأحمال العمل الخارجة عن السيطرة بفرض ResourceQuotas على مستوى مساحة الأسماء وLimitRanges لكل Pod.
حصص الموارد ونطاقات الحدود درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ضوابط الحماية للعناقيد المشتركة
في العنقود المشترك، قد يستهلك فريق واحد كل الموارد عن طريق الخطأ. وتعمل ResourceQuotas وLimitRanges كضوابط حماية تحافظ على عدالة مساحات الأسماء وتمنع الأعطال.
ما هي ResourceQuota
تضع ResourceQuota حدًا أقصى لإجمالي الموارد التي يمكن لمساحة أسماء استهلاكها: وحدة المعالجة المركزية والذاكرة وعدد الكائنات مثل Pods أو Services.
حصة موارد الحوسبة
تحد هذه الحصة إجمالي الطلبات والحدود عبر جميع Pods في مساحة الأسماء.
apiVersion: v1
kind: ResourceQuota
metadata:
name: team-compute
namespace: team-a
spec:
hard:
requests.cpu: '4'
requests.memory: 8Gi
limits.cpu: '8'
limits.memory: 16Giحصص عدد الكائنات
يمكن للحصص أيضًا تحديد الحد الأقصى لعدد كل نوع من الكائنات الموجودة، ما يمنع التوسع غير المقصود.
spec:
hard:
pods: '20'
services: '5'
persistentvolumeclaims: '10'قاعدة فرض الحصة
عند ضبط ResourceQuota لموارد الحوسبة، يجب على كل Pod التصريح بـ requests وlimits، وإلا فسيُرفض. لا يمكن للحصة احتساب Pods ذات الموارد غير المحددة.
التحقق من استخدام الحصة
افحص مقدار الحصة المستهلَك في أي وقت.
kubectl describe resourcequota team-compute -n team-a
# Resource Used Hard
# requests.cpu 2 4
# requests.memory 3Gi 8Giما هو LimitRange؟
يطبّق LimitRange الإعدادات الافتراضية والحدود لكل كائن داخل مساحة أسماء، بحيث تظل Pods الفردية مقيّدة حتى إذا نسي المطوّر ضبط القيم.
الإعدادات الافتراضية والحدود
يمكن لـ LimitRange إضافة requests وlimits الافتراضية وفرض الحدين الأدنى والأقصى لكل حاوية.
apiVersion: v1
kind: LimitRange
metadata:
name: container-limits
namespace: team-a
spec:
limits:
- type: Container
default:
cpu: 500m
memory: 256Mi
defaultRequest:
cpu: 250m
memory: 128Mi
max:
cpu: '2'
memory: 1Giكيف تعمل معًا
يملأ LimitRange القيم الافتراضية لكل حاوية، ثم يجمع ResourceQuota كل شيء ويقارنه بالحد الأقصى لمساحة الأسماء. ويضمنان معًا ضبطًا مناسبًا لحجم كل Pod وإجماليًا عادلًا لمساحة الأسماء.
استكشاف حالات الرفض وإصلاحها
إذا رُفضت Pod، فسيذكر الخطأ السياسة المخالِفة. اقرأه بعناية: فهو يوضح ما إذا كنت قد تجاوزت الحصة أو خالفت حدًا من حدود LimitRange.
# exceeded quota: team-compute, requested: requests.cpu=2, used: 3, limited: 4
# maximum cpu usage per Container is 2, but limit is 4نصائح للإنتاج
- اضبط LimitRange حتى لا تؤدي الطلبات المنسية إلى تعطيل الحصة
- حدّد حجم الحصص استنادًا إلى الاستخدام الفعلي، مع ترك سعة احتياطية للارتفاعات المفاجئة
- راجع الاستخدام بانتظام واضبطه مع نمو الفرق
تحقق سريع
اختبر مدى فهمك لوسائل حماية مساحة الأسماء.
مراجعة
تعلمت فرض العدالة باستخدام ResourceQuotas (حدود قصوى على مستوى مساحة الأسماء للحوسبة وعدد الكائنات) وLimitRanges (إعدادات افتراضية وحدود لكل حاوية). وعند استخدامهما معًا، يمنعان مشكلات الجيران المزعجين ويحافظان على استقرار العناقيد المشتركة، وهي من ممارسات الإنتاج الأساسية.
الأسئلة الشائعة
هل درس «حصص الموارد ونطاقات الحدود» مجاني؟
نعم — نص درس «حصص الموارد ونطاقات الحدود» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ماذا ستتعلم في «حصص الموارد ونطاقات الحدود»؟
امنع مشكلات الجيران المزعجين وأحمال العمل الخارجة عن السيطرة بفرض ResourceQuotas على مستوى مساحة الأسماء وLimitRanges لكل Pod. تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟
لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «حصص الموارد ونطاقات الحدود»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟
نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تشخيص المشكلات الشائعة
- تنقيح الوحدات وServices
- أفضل ممارسات الإنتاج ونصائحه
- حصص الموارد ونطاقات الحدود