Kubernetes Basics · درس

حصص الموارد ونطاقات الحدود

امنع مشكلات الجيران المزعجين وأحمال العمل الخارجة عن السيطرة بفرض ResourceQuotas على مستوى مساحة الأسماء وLimitRanges لكل Pod.

الدرس 4 من 413 خطوة

حصص الموارد ونطاقات الحدود درس مجاني في Kubernetes Basics على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Kubernetes Basics، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Kubernetes Basics 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 (إعدادات افتراضية وحدود لكل حاوية). وعند استخدامهما معًا، يمنعان مشكلات الجيران المزعجين ويحافظان على استقرار العناقيد المشتركة، وهي من ممارسات الإنتاج الأساسية.

البدء مجانًا

تعلم Kubernetes Basics مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
12
الدروس
48

الأسئلة الشائعة

هل درس «حصص الموارد ونطاقات الحدود» مجاني؟

نعم — نص درس «حصص الموارد ونطاقات الحدود» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Kubernetes Basics، انتقل إلى CoddyKit PRO. تتضمن دورة Kubernetes Basics 4 دروس في المجموع.

ماذا ستتعلم في «حصص الموارد ونطاقات الحدود»؟

امنع مشكلات الجيران المزعجين وأحمال العمل الخارجة عن السيطرة بفرض ResourceQuotas على مستوى مساحة الأسماء وLimitRanges لكل Pod. تتمرن على Kubernetes Basics مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Kubernetes Basics؟

لا تُشترط خبرة سابقة. Kubernetes Basics على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «حصص الموارد ونطاقات الحدود»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Kubernetes Basics هذا؟

نعم. كل درس في Kubernetes Basics يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. تشخيص المشكلات الشائعة
  2. تنقيح الوحدات وServices
  3. أفضل ممارسات الإنتاج ونصائحه
  4. حصص الموارد ونطاقات الحدود
← العودة إلى Kubernetes Basics