بدأت من الصفر K8s: عمليات جدولة وخوارزميات جدولة أدخلت

استعراض : Kubernetes كمنصة أتمتة السفينة حاليا الأكثر شعبية للتشغيل والصيانة، وذلك لتحقيق مرونة التعريفي حاوية تخطيط، الورقية الإصدار لv1.16 تفاصيل الإطار الأساسي K8s جدولة، والعمليات، والمرشح الرئيسي، نتيجة خوارزمية يصف تحقيق وطريقتان لتنفيذ قدرات الجدولة المخصصة.

عملية جدولة

نظرة عامة جدولة عملية

Kubernetes واليوم هو الأكثر التيار الرئيسي للعملية حاوية ومنصة التشغيل الآلي للصيانة، وحاوية فشلت كوبي-جدولة المكونات الأساسية K8s سيكون بطل الرواية من العرض الذي قدمته اليوم هو تقديم نسخة يتبع الافراج-1.16 الأساس، وهذا الرقم هو من العديد من المكونات الرئيسية للكوبي-جدولة:

سياسة

يدعم تكوين بدء التشغيل السياسة جدولة جدولة حاليا ثلاثة أوضاع، معلمة سطر ملف التكوين الأمر / / ConfigMap. سياسة جدولة التي يمكن تهيئتها لاستخدام فلتر (يسند) لتحديد جدول زمني لتدفق الرئيسي، جهاز تسجيل (الأولويات)، الخارجية جدولة التوسع (موسعات)، وآخر نقطة تمديد مخصصة SchedulerFramwork المدعومة (الإضافات).

مخبر

جدولة بواسطة آلية مخبر قائمة K8s + ووتش للحصول على جدولة كوبي-apiserver المطلوبة من عند البيانات البداية هي على سبيل المثال: حاضن، العقد، المجلد فاضحة (PV)، فاضحة حجم المطالبة (PVC) وغيرها، والقيام ببعض البيانات كما المعالجة من جدولة ذاكرة التخزين المؤقت.

خط أنابيب المقرر

بواسطة مخبر  الحاجة إلى جدولة قرنة إدراجها في قائمة الانتظار، إلى خط أنابيب إجراء دوريا من قائمة انتظار البوب قرنة الانتظار لتحديد موعد.

خط أنابيب المقرر (الجدول الأنابيب) هناك ثلاث مراحل رئيسية: جدولة الموضوع، انتظر الموضوع، ربط الموضوع.

  • جدولة مرحلة الموضوع : من الرسم البياني أعلاه العمارة يمكن أن ينظر إليه Schduler الموضوع يخضع قبل تصفية - >  فلتر - >  آخر مرشحات >  تسجيل - >  احتياطي، يمكن فهم مجرد تصفية (فلترة) - >  تسجيل - >  احتياطي.

ووصفت مرحلة تصفية لاختيار المواصفات قرنة تلبية العقد، نتيجة لتسجيل وفرز المرحلة من بعد تصفية العقد، قرنة الاحتياطي، مع المرحلة المثلى من NodeCache عقدة لفرز، مشيرا إلى أن قرنة تم تعيين هذه العقدة الوقت، في انتظار المقرر بجانب تقديم قرنة على تصفية عقدة وكانوا قادرين على رؤية أعلى نتيجة قرنة التوزيع العادل.

  • انتظر مراحل الموضوع: ويمكن استخدام هذه المرحلة لانتظار الموارد المرتبطة الانتظار جاهز قرنة، انتظر على سبيل المثال PVC، يتم إنشاء PV بنجاح، أو انتظار عصابة جدولة جدولة نجاح المرتبطة قرنة مثل.
  • مراحل الموضوع مأزق: جراب للجمعية وعقدة استمرار كوبي APIServer.

فقط في كامل خط أنابيب جدولة مرحلة جدولة الموضوع هو جدولة مسلسل قرنة قرنة، يتم تنفيذها في موازية انتظر متزامنة مرحلة ربط وقرنة.

عملية جدولة مفصلة

بعد حل النهائي والعلاقات الرئيسية عضوا دور كوبي-جدولة، وعمق المقبل فهم مبدأ عمل محددة جدولة خطوط الأنابيب، وفيما يلي مخطط تفصيلي كوبي-المجدول، وقائمة الانتظار جدولة لشرح:

SchedulingQueue هناك ثلاثة activeQ طابور الفرعية، backoffQ، unschedulableQ.

تنشيط جدولة عند كل الانتظار لتحديد موعد وقرنة إدخال activieQ، يتم فرز activeQ حسب الأولوية في قرنة، جدولة Pipepline يحصل على قرنة من activeQ لينفذ خط أنابيب عملية جدولة، عندما فشل جدولة مباشرة وفقا لحالة اختيار لدخول unschedulableQ أو backoffQ إذا عقدة ذاكرة التخزين المؤقت، قرنة ذاكرة التخزين المؤقت جدولة ذاكرة التخزين المؤقت وغيرها من التغييرات خلال قرنة الحالي من المقرر ان تدخل backoffQ، أدخل على خلاف ذلك unschedulableQ.

unschedulableQ وقت أطول دوري (مثلا 60 ثانية) أو الفرشاة في activeQ backoffQ، أو عندما يتغير على الزناد جدولة ذاكرة التخزين المؤقت قرنة المرتبطة الفرشاة في activeQ أو backoffQ؛ وbackoffQ آلية unschedulableQ التراجع للسماح للمقارنة المزمع عقده بسرعة نسبيا جراب إدخال إعادة جدولة activeQ.

الحصول على المقرر، سيتم تنفيذ معلومات مفصلة جدولة مرحلة الموضوع، وانتظار قرنة جدولة خط أنابيب للحصول على تصفية عقدة ذات الصلة NodeCache من منطق داخل مطابقة، وهو مساحة على عملية التحسين من NodeCache اجتياز الخوارزمية عقدة بسيطة يمكن تلخيصها لتجنب اتخاذ أي عقدة في التعافي من الكوارث جدولة الجدول الزمني أخذ العينات .

معين المنطق تحسين خوارزمية (طلاب المهتمين يمكن مشاهدة node_tree.go الأسلوب التالي): في كومة NodeCache، عقدة ينقسم وفقا للمنطقة. في مراحل التصفية، كما أنه سيتم الحفاظ على NodeCache zondeIndex، كل عقدة بوب مرشح، انتقل ZONEINDEX ظهر موقف واحد ومن ثم إخراجها من عقدة في قائمة عقدة للمنطقة.

يمكن أن ينظر إليه على تنسيق ديك nodeIndex، فإنه سيتم زيادة كل مرة. إذا كانت المنطقة العقدة الحالية من أية بيانات، وسوف يستغرق البيانات من منطقة المقبلة. هذه العملية هي على الأرجح zoneIndex من اليسار إلى اليمين، nodeIndex من أعلى إلى أسفل، وضمان عقدة عقدة حصلت هي وفقا للمنطقة تفريق، من أجل تحقيق لتجنب أي عقدة في نفس الوقت أخذ في الاعتبار من الألف إلى الياء نشر متوازن من العقد. (إطلاق-v.1.17 تم إلغاء الإصدار الأحدث من الخوارزمية، لماذا لا ينبغي النظر يفضلون إلغاء وعقدة من قرنة يفضلون، ليس هناك شرط لتحقيق المواصفات قرنة و)

الجدول الزمني أخذ العينات داخل حجم عينة هنا لفترة وجيزة، والتقصير معدل أخذ العينات الصيغة = ماكس (5، 50 - عقدة نظام المجموعة رقم / 125)، وحجم العينة = ماكس (100، معدل العينات، وعدد من مجموعات عقدة *).

هنا مثال على ذلك: حجم العقدة 3000 العقد، ثم نسبة العينات ** = ماكس (5، 50 - 3000/125) = 26، ثم حجم العينة * = ماكس (100، 30000.26) = 780، الذي جدولة خط أنابيب، طالما تصفية لمباراة تصفية عقدة المرشح 780، وعملية يمكن وقفها، وتأتي مرحلة التقييم.

يسجل المرحلة عدد نقاط بناء على تكوين المكونات السياسة، عقدة نوع فقا لأعلى درجة كما SelectHost. ثم يتم الاستغناء عن هذا على قرنة عقدة، وهذا ما يسمى عملية مرحلة محفوظة كتب معسكر يمكن أن يسمى. يخيم جراب تعديلات عملية في وضع PodCache المفترضة (الدولة في الذاكرة).

وتنطوي عملية الجدولة جراب الدولة دورة حياة الجهاز هنا مقدمة موجزة لعدد من الدول الكبرى قرنة: أول (دولة افتراضية) - > مفترض (محفوظة) - > وأضاف - > محذوفة (دولة افتراضية)؛ والمخبر ساعة عندما تم تحديد البيانات إلى عقدة قرنة المخصصة لهذا الوقت، فإن الدولة سوف تصبح قرنة المضافة. عقدة حدد نهاية في ربط، عندما يكون هناك قد تفشل ربط، عندما فشل ربط ستفعل التراجع، هو أن تفعل ما قبل الاحتلال من كتب بيانات عودة يفترض الأولي، يتم مسح المفترضة للدولة من عقدة داخل قرنة الكتب واضحة.

إذا فشل ربط، ورمي العودة مرة أخرى إلى قائمة الانتظار داخل قرنة unschedulableQ. في جدولة الطوابير، تحت أي ظرف من الظروف ان قرنة backoffQ في ذلك؟ وهذه نقطة تفصيلية للغاية. إذا كان هناك مثل هذه الفترة جدولة، غيرت ذاكرة التخزين المؤقت، وقرنة وضع backoffQ الداخل. في backoffQ داخل وقت الانتظار سيكون أقصر من الوقت الذي unschedulableQ، backoffQ هناك تخفيض استراتيجية، بل هو قوة هائلة من 2 تقليله. تفترض إعادة المحاولة ل1S أول مرة، وهذا هو 2S مرة الثانية، الثالثة هي 4S، والرابع هو 8S، حتى 10S.

خوارزمية جدولة

المسندات (فلتر)

تصفية غرض وظيفي ويمكن تقسيمها إلى أربع فئات:

  • مباراة المتعلقة تخزين
  • Pode وعقدة مباراة ذات الصلة
  • جراب جراب ومطابقة ذات الصلة
  • جراب للضرب صلة
المتعلقة التخزين

عدة مرشحات ظيفة التخزين المرتبطة بها:

  • NoVolumeZoneConflict قدمت على المنطقة المرتبطة تسمية الكهروضوئية بولي كلوريد الفينيل \ الألف إلى الياء الحد PV إبقاء يكون العقد مطابقة.
  • MaxCSIVolumeCountPred ، فهو يستخدم للتحقق من عدد محدد من أكبر بولي كلوريد الفينيل واحد الحد الكهروضوئية تقديم على البرنامج المساعد CSI.
  • CheckVolumeBindingPred ، وفي منطقها التحقق والكهروضوئية بولي كلوريد الفينيل عملية الربط، داخل منطق الكتابة أكثر تعقيدا، هو أساسا كيفية الكهروضوئية إعادة استخدامها.
  • NoDiskConfict ، وتخزين SCSI لا يكون حجم المتكرر.
جراب ومطابقة عقدة ذات الصلة
  • CheckNodeCondition: تحقق ما إذا كانت العقدة على استعداد لتحديد موعد، والتحقق من node.condition نوع الشرط: جاهز لNetworkUnavailable الصواب والخطأ، وكذلك Node.Spec.Unschedulable هو زائف.
  • CheckNodeUnschedulable: NodeUnschedulable ملحوظ عقدة في العقدة، يمكننا المسمى مباشرة من قبل كوبي تحكم هذه العقدة لا يمكن جدولة، ثم لن يكون موعد هذه العقدة. في النسخة 1.16، أصبح هذا Unschedulable ويشوب. التي تحتاج إلى تحقق ما هو ملحوظ على قرنة تتسامح لا يمكن أن يتسامح مع هذا يشوب.
  • PodToleratesNodeTaints: فحص ما إذا كانت عقدة يشوب قرنة تتسامح تضم؛
  • PodFitsHostPorts: موانئ الحاويات بيان بشأن ما إذا كان يتم استخدام الاختيار من قبل قرنة عقدة معينة مسبقا قرنة.
  • MatchNodeSelector : تحقق Pod.Spec.Affinity.NodeAffinity والمباريات Pod.Spec.NodeSelector من تسميات عقدة.
جراب جراب ومطابقة ذات الصلة

MatchinterPodAffinity: فحص أساسا PodAffinity المنطق وPodAntiAffinity أقصى تعقيد الانجذاب حيث هناك يوصف الدعم داخل PodAffinityTerm TopologyKey (قد تمثل عقدة / منطقة / من الألف إلى الياء طوبولوجيا، وما إلى ذلك)، وهذا هو في الواقع القاتل الأداء.

جراب للضرب صلة
  • EvenPodsSpread
  • CheckServiceAffinity
EvenPodsSpread

هذا هو ميزة جديدة، أول اطلالة له على EvenPodsSpread في المواصفات الوصف: - وصف مجموعة مؤهلة من قرنة ضرب على المتطلبات المحددة من TopologyKey.

نحن هنا ننظر في كيفية وصف مجموعة من قرنة، كما هو مبين أدناه:

المواصفات: topologySpreadConstraints: - maxSkew: 1 whenUnsatisfiable: DoNotSchedule topologyKey: k8s.io/hostname محدد: matchLabels: التطبيق: فو matchExpressions: - مفتاح: التطبيق المشغل: في القيم:

منتخب وضع جراب يتم استخدام قائمة طوبولوجيا لوصف الحاجة إلى كسر قاء:

topologyKey : وبناء على ما طوبولوجيا.

maxSkew : لم يتم متوازنة يسمح الحد الأقصى.

whenUnsatisfiable : عندما يحين الوقت لا يفي استراتيجية topologySpreadConstraint، DoNotSchedule: يظهر التأثير على مرحلة التصفية، ScheduleAnyway: يسجل تعمل على خشبة المسرح.

على سبيل المثال الوصف التالي:

محدد اختيار كل من lable تمشيا مع التطبيق = فو جراب، فإنه يجب أن يكون تعرض للضرب على مستوى المنطقة، والسماح الحد الأقصى لعدد واحد متفاوتة.

يتم تعيين منطقة ثلاثة العنقودية، قيمة التطبيق = فو صورة الملصق فوق قرنة في zone1 وzone2 جراب.

صيغة عدد فردي الحساب: ActualSkew = العد - دقيقة (العد)

أولا، الحصول على قائمة من يحق قرنة أساس محدد

وثانيا، فإن مجموعة متابعة topologyKey للحصول على العد

كما هو مبين في الشكل:

1 يفترض maxSkew، إن وجد إلى zone1 / zone2، تحرف هو 2، maxSkew أكبر من السابقة. هذا لا تتطابق، لا يمكن إلا أن تسند إلى zone3. إذا تم تعيينه إلى zone3، دقيقة (العد) هو 1، COUNT هو 1، ثم الانحراف يساوي 0، وبالتالي يمكن تعيين فقط إلى zone2.

ومن المفترض 2 maxSkew المخصصة لZ1 (Z2)، قيمة الانحراف 2/1/0 (1/2/0)، بحد أقصى 2، وتلبية < = MaxSkew. أن Z1 / Z2 / Z3 يسمح ليتم تحديده.

EvenPodsSpread يمكن تحقيق مجموعة متوازنة من قرنة ضرب على الطلب من خلال TopologyKey، إذا كانت متوازنة المتطلبات الضرورية على كل توبو يمكن تعيين maxSkew إلى 1، وبطبيعة الحال، هذا الوصف يفتقر إلى بعض السيطرة، على سبيل المثال، يجب أن تخصص في عدد من topologyValue قيود.

أولويات

بعد ذلك ننظر في خوارزمية التهديف، من أجل حل المشكلة الرئيسية هو التهديف مجموعات الخوارزمية من الحطام، والتعافي من الكوارث، ومستوى المياه، الموالية والمناهضة للتقارب وهلم جرا.

حسب الفئة يمكن تقسيمها إلى أربع فئات:

  • مستوى العقدة
  • جراب انقطاع (TOPP، خدمة، وتحكم)
  • عقدة وتقارب ومكافحة تقارب
  • جراب وتقارب ومكافحة تقارب
الموارد المائية

ثم يأتي يرتبط النتيجة الأولى مستوى الموارد.

العقد التهديف خوارزمية المرتبطة مستوى الموارد هناك أربعة، كما هو مبين في الشكل.

  • مفهوم الموارد المائية الصيغة

طلب : عقدة خصصت بالفعل الموارد؛ Allocatable : عقدة يمكن أن يكون المورد المحدد

  • الأولوية للضرب

قرنة المخصصة لعقدة مع أعلى معدل للموارد عاطلة، بدلا من الحد الأقصى للموارد عقدة الخمول، الصيغة: الموارد المعدل الخالي = (Allocatable - طلب) / Allocatable عندما أكبر هذه القيمة، وكلما ارتفعت درجة، والنتيجة المعينة عقدة أولوية عالية. بين (Allocatable - طلب) وهي تمثل عدد من الموارد المجانية تليها قرنة المخصصة لهذه العقدة.

  • كومة الأولوية

تعيين جراب إلى عقدة وفقا لأعلى استخدام الموارد، الصيغة: = استخدام الموارد طلب / Allocatable  استخدام الموارد أعلى، وكلما ارتفعت درجة، سيتم تعيين الأولوية لدرجة عالية من العقدة.

  • معدل تجزئة

استخدام الموارد هو الفرق بين الموارد المختلفة على عقدة، وتدعم حاليا وحدة المعالجة المركزية / م / القرص ثلاثة أنواع من الموارد، إذا ننظر فقط إلى وحدة المعالجة المركزية / م، ثم معدل تجزئة الصيغة = القيمة المطلقة. وكمثال على ذلك، عندما وحدة المعالجة المركزية تخصيص نسبة من 99، ومعدل توزيع 50 من الذاكرة، ثم معدل تجزئة = 99 --50 = 50، ثم في هذه الحالة 1 CPU المتبقية، 50 م، من الصعب هذه مواصفات السفينة يمكن أن ينفد م. النتيجة = 1 - معدل جزء، وكلما ارتفعت درجة انخفاض معدلات الكسر.

  • نسبة محددة

يمكن بدء جدولة في ذلك الوقت، وكانت النتيجة لكل مجموعة من استخدام الموارد، وبالتالي تحقيق الموارد المخصصة لالشخصي للتحكم كتلة عقدة.

كسر جراب

جراب تفككت من أجل حل المشكلة: لدعم احتياجات انتشار المؤهلين من مجموعة من جراب المنتشرة على طوبولوجيا مختلفة.

  • SelectorSpreadPriority

جراب لتنفيذ وحدة تحكم تحت كل عقدة ذات الصلة للضرب جراب على المتطلبات. هذه التطبيقات هي: أنه ينتمي مقرها تحكم قرنة إلى الاستغناء، وحساب كل وحدة تحكم قرنة، على افتراض أن العدد الإجمالي للT، وقرنة وفقا لهذه الإحصاءات حيث عقدة حزم، يفترض أن يكون N (كما أعرب عن عقدة قيمة الإحصائية)، ثم كانت النتيجة على إحصاءات عقدة (TN) / T درجة، وزيادة قيمة نشر عقدة تحكم، وأقل وكلما ارتفعت درجة، وذلك لتفريق مطالب عبء العمل جراب.

  • ServiceSpreadingPriority

وقال سيتم استخدام التعليقات الرسمية ليحل محل عالية SelectorSpreadPriority احتمال، لماذا؟ وأنا أفهم: الخدمة نيابة عن مجموعة من الخدمات، طالما يمكننا القيام به لتفريق خدمة التوزيع غير كافية.

  • EvenPodsSpreadPriority

لتحديد مجموعة من المؤهلين تفككت الطلب قرنة في طوبولوجيا، وهذا هو أكثر مرونة، وأكثر مخصصة اتجاه واحد، اتجاه واحد هو أكثر تعقيدا الاستخدام.

بسبب هذا الاستخدام قد تغيرت، ونحن نفترض أن هذا الهيكل هو هذا: مطلوب المواصفات في عقدة توزيعها، ويمكننا تتبع الصيغة لحساب الشكل أعلاه، حساب المواصفات تلبية للشروط المحددة في هذا labelSelector العقدة عدد جراب، ومن ثم حساب الحد الأقصى للفرق، ثم حساب الحق عقدة الأوزان المخصصة، إذا كانت أعلى قيمة، مشيرا إلى أن قيمة الأولوية.

عقدة وتقارب ومكافحة تقارب

  • NodeAffinityPriority هذا هو تقارب يلتقي وعقدة وقرنة ومكافحة تقارب.
  • ServiceAntiAffinity ، ودعم لتوزيعها وفقا لخدمة قرنة لتكون متوازنة وفقا للقيمة تسمية عقدة. على سبيل المثال: هناك أيضا عقدة كتلة تنخفض مجموعتين من العقد على السحابة، نطالب الخدمة في سحابة لتوزيعات سحابة التوازن، على افتراض أن هناك التسمية على عقدة، ثم يمكننا استخدام هذه لتفريق ServiceAntiAffinity التوزيع؛
  • NodeLabelPrioritizer ، في المقام الأول من أجل تحقيق تسمية عقدة لبعض خوارزمية تخصيص الأولوية هي بسيطة جدا ووقت البدء وفقا لقيم التسمية تكوين سياسة الجدولة (SchedulerPolicy)، لتحديد ما إذا تم استيفاء هذا الشرط على التسمية عقدة، عقدة أولوية تعيين إذا استوفت الشروط.
  • ImageLocalityPriority ، عقدة تقارب الاعتبار الرئيسي هو صورة طبق الأصل سرعة التحميل. في حالة وجود عقدة داخل المرآة، ثم جدولة الأولوية قرنة لهذه العقدة، وهنا أيضا إلى النظر في حجم الصورة، مثل لديه قرنة عدة مرآة، تعكس أكبر وأبطأ سرعة التحميل، وسوف اتبع العقدة الحالية مرآة حجم تقارب الأولوية.
جراب وتقارب ومكافحة تقارب

InterPodAffinityPriority

أولا تقديم سيناريوهات الاستخدام:

  • المثال الأول، على سبيل المثال، يوفر تطبيق البيانات A، B لتوفير خدمات التطبيقات، وينتشر A و B معا يمكن أن تذهب الشبكة المحلية، شبكة نقل الأمثل.
  • المثال الثاني، إذا تم تطبيق تطبيقات التي تتطلب تطبيق CPU بين ألف وباء، وثبت بينهما تتداخل مع بعضها البعض، ثم حكم يمكن توفير قدر الإمكان أنهم ليسوا على العقدة.

NodePreferAvoidPodsPriority

ليس محاولة لاستخدامها لتنفيذ بعض من وحدة تحكم المخصصة للقدرة على بعض العقد؛ لا تعيين لبيان بإضافة الشرح على عقدة تحكم على أي عقدة، إن لم يكن على الأولوية.

كيفية تكوين جدولة

تكوين جدولة مقدمة

كيفية بدء جدولة، وهناك حالتين:

  • وعلينا أولا أن نبدأ من خلال تكوين جدولة الافتراضي، ما لم يتم تحديد معلمات.
  • والثاني أننا يمكن تكوين لتحديد ملف جدول.

إذا بدأنا افتراضيا الطريق، وأريد أن أعرف التكوين الافتراضي من المعلمات لبدء ما؟ التكوين الافتراضي يمكن أن تكون مكتوبة مع --write بين التكوين إلى داخل ملف معين.

نظرة التالية في ملف التكوين الافتراضي، كما هو مبين أدناه:

  • algorithmSource : مزود خوارزمية، وحاليا يقدم ثلاث طرق: موفر، ملف، configMap، وسيتم عرض في وقت لاحق هذا.
  • percentageOfNodesToscore : A جدولة لتوفير التدرجية، فمن الممكن للحد من عقدة عقدة حجم العينة.
  • schedulerName : تستخدم للإشارة إلى متى تبدأ جدولة، وهي المسؤولة عن تحديد مواعيد قرنة، وإذا لم يكن محددا، الاسم الافتراضي هو الافتراضي-جدولة.
  • bindTimeoutSeconds : ربط لتحديد المرحلة وقت العملية، في ثواني.
  • clientConnection : مع بعض المعايير المستخدمة لتكوين التفاعلية تكوين كوبي-apiserver. ContentType سبيل المثال، يتم استخدامها مع سلسلة من التفاعلات بروتوكول كوبي-apiserver، المعين هنا Protobuf.
  • disablePreemption : إغلاق جدولة وقائية.
  • hardPodAffinitySymnetricweight : تكوين PodAffinity والوزن NodeAffinity هو.

algorithmSource

هنا ما تناقلته بعض والمرشحات تنسيق ملف التكوين، التهديف، وما إلى ذلك، تقدم حاليا ثلاث طرق:

  • مزود
  • ملف
  • configMap

إذا قمت بتحديد موفر تنفيذها بطريقتين:

  • واحد هو DefaultPrivider.
  • واحد هو ClusterAutoscalerProvider.

ClusterAutoscalerProvider كومة الأولوية، الأولوية DefaultPrivider ضرب. حول هذه الاستراتيجية، عند تشغيل التوسع التلقائي للعقد، لجعل أن استخدام ClusterAutoscalerProvider يكون أكثر انسجاما مع احتياجاتك.

هنا نظرة على محتويات ملف التكوين السياسة، كما هو مبين أدناه:

هنا يمكنك ان ترى التكوين المسندات مرشح، وتكوين أولويات جهاز التهديف، وكذلك لدينا ملحقات التكوين المجدول. وهنا معلمة أكثر إثارة للاهتمام هي: alwaysCheckAllPredicates. فهو يستخدم للسيطرة على قائمة التصفية عندما يكون هناك كاذبة عودة، سواء لمواصلة السير؟ الافتراضي هو بالتأكيد كاذب، وإذا تكوين صحيح، فإنه سيتعين ذهب على كل المكونات.

كيفية تمديد جدولة

جدولة موسع

جدول موسع أول اطلالة له على ما يجب القيام به؟ بعد بدء جدولة الرسمية، ومن ثم يمكنك بدء جدولة الموسعة.

من خلال ملف التكوين، ملف y سياسة فوق تكوينات الموسع المذكورة، بما في ذلك الخدمات الموسع عنوان URL، سواء الشبكي الخدمة وعما إذا كانت خدمة NodeCache. إذا كان هناك NodeCache، أن جدولة سيمر قائمة nodenames. إن لم يكن مفتوحا، ثم جدولة ستكمل يتم تمرير كافة هيكل nodeinfo انتهى.

تجاهله تشير هذه المعلمة خدمة جدولة غير قابلة للوصول أو خطأ في الشبكة، وإذا كان يمكنك تجاهل جدولة طويلة. managedResources، وجدولة الرسمية استخدام جدولة طويلة في مواجهة هذا الموقع، وإذا لم تقم بتحديد استخدام تمديد سيمثل كل من المجدول.

هنا، على سبيل المثال حصة GPU. في جدولة تسجيل الممتدة التي سيتم تخصيص الذاكرة على كل حجم البطاقة، وجدولة هو المسؤول مسؤولة فقط على عقدة عقدة إجمالي الذاكرة الرسومات وكافية. هنا توسيع موارد دعا سبيل المثال / الجرافيك الرجال: 200G، على افتراض أن هناك جراب للجدول الزمني المحدد، من خلال كوبي-جدولة ستشهد التوسع مواردنا، والتوسع في تخصيص الموارد للذهاب توسيع جدولة، سيتم تكوين المرحلة جدولة بواسطة رابط جدولة لاستدعاء عنوان التمديد، بحيث يمكن أن تصل إلى قدرة حصة الجرافيك جدولة يمكن أن تتحقق.

إطار جدولة

هنا ينقسم الى قسمين، ووصف الاستخدام المتزامن من النقاط تمديد من الطراز.

والغرض الرئيسي من النقاط تمديد

والغرض الرئيسي من التوسع لا سيما في النقاط التالية:

  • QueueSort: قرنة لدعم فرز مخصص. إذا كان QueueSort الفرز الخوارزميات المحددة، والتي سوف تكون في قائمة الانتظار جدولة وفقا لخوارزمية الفرز المحددة لنوع.
  • Prefilter: تجهيزها طلب قرنة، مثل مخبأ قرنة، يمكن أن تقدم في هذه المرحلة؛
  • مرشح: مرشح القيام به هو توسيع، يمكنك إضافة بعض من يريد بهم تصفية، مثيل المشتركة الجرافيك يمكن تحقيقه في الداخل ذكرت للتو.
  • PostFilter: يمكن استخدام السجلات / metircs، أو البيانات جعل قبل تجهيز مسبق لنقاط. على سبيل المثال، منذ تعريف مخبأ المساعد، هناك يمكن القيام به.
  • تسجيل: سجل المكونات هو تحقيق تتعزز هذه الواجهة.
  • محفوظة: حالة المساعد ديهم بعض تفعل المحاسبة لموارد الذاكرة.
  • تصريح: الانتظار، وتنكر، والموافقة، كنقطة عصابة الإدراج. ويمكن القيام بذلك في انتظار كل جراب، وهلم جرا كلها قرنة جدولة النجاح، ثم تفعل عندما وصلت حركة المرور حالة قابلة للاستخدام، إذا فشل جراب، حيث يمكنك أن تمنع بها؛
  • Prebind: العقدة قبل فعلا ربط إجراء بعض العمليات، على سبيل المثال: علبة القرص سحابة تحميل إلى عقدة.
  • مأزق: جراب BindPlugin إلا أن يكون العلاج؛
  • PostBind: منطق أعدموا بعد مأزق ناجحة، مثل يمكن استخدام السجلات / metircs.
  • Unreserve: ربط لهذه المراحل طالما خطأ على احتياطي في تصريح. على سبيل المثال، أمام فشل تصريح المرحلة، فشل PreBind، الموارد الاحتياطية للقيام بذلك.
نموذج التوافق

وسائل نموذج التزامن في عملية جدولة رئيسية لمرحلة ما قبل تصفية الاحتياطي والحقول الزرقاء كما هو مبين أعلاه. طابور للحصول على من قرنة المقرر أن تنتهي الاحتياطي أكثر، ومن ثم وضع هذا غير المتزامن قرنة إلى انتظر الموضوع، انتظر الانتظار الموضوع في حال نجاحها، سيتم تسليمه إلى ربط الموضوع، هي واحدة من هذا القبيل نموذج الموضوع.

المساعد مخصص

كيفية كتابة تسجيل مخصص المساعد؟

هنا مثال من مسؤول في مرحلة ربط، لقرنة منضم إلى عقدة، لكوبي-apiserver القيام ربط. هنا يمكنك ان ترى هناك نوعان من واجهات، واجهة اسم بيان جدولة مأزق، وما ربط نعم منطقي. وأخيرا، تنفيذ منشئ، منشئ هو ان نقول ذلك أي نوع من المنطق.

بدء جدولة البرنامج المساعد مخصص:

  • بائع
  • شوكة

يمكنك الذهاب إلى التسجيل في وقت التمهيد بطريقتين:

  • الطريقة الأولى هي كتابة السيناريو بنفسه، من قبل بائع جدولة رمز بائع القادمة. في وقت defaultbinder بداية scheduler.NewSchedulerCommand مسجلة في، حتى تتمكن من البدء جدولة.
  • والطريقة الثانية هي شوكة كوبي-جدولة شفرة المصدر، ثم defaultbinder جدولة إلى السجل من قبل المكونات السجل. إنهاء تسجيل هذه المكونات، لبناء السيناريو، وبناء مرآة، ثم تبدأ عند بدء في ملفه plugins.bind.enable.

تلخص هذه الورقة

وبذلك تنتهي هذه المقالة، نحن هنا بإيجاز:

  • الجزء الأول معك حول تدفق العمل العام في المجدول، وكذلك بعض التحسين حساب الخوارزمية.
  • ويصف الجزء الثاني تنفيذ العديد من مكونات العمل الرئيسية لجدولة مرشح التجمع، والنتيجة المكونة، والنتيجة جنبا إلى جنب حالات قليلة الاستخدام؛
  • ويصف القسم الثالث الملف الشخصى تعليمات جدولة، حتى أن الجميع يمكن أن يحقق السلوك جدولة المرجوة من خلال هذه التكوينات.
  • الجزء الرابع يقدم بعض الاستخدام المتقدم، كيف الموسعة القدرة على جدولة كتبها الموسع / الإطار، لتلبية احتياجات جدولة السيناريو تجارية معينة.

أستراليا ناكاموتو أدلة رئيسية لجلب الشهود ناكاموتو! ليلة BSV لتصبح رابع أكبر التشفير عملة في العالم

كيف ساعد موقع التوظيف الهجرة إلى Serverless؟

دونغ ينغ: للقيام بدوريات في المنطقة من الظروف المعقدة

محكمة "سحابة محاكمة" مساعدة للعودة إلى العمل لإنتاج الذاتية: المتهم ميل الأصلية وساطة ناجحة بصرف النظر

مكافحة السارس في المرتبة المؤشر أعلى ثلاث شركات الأكثر نفوذا منغنيو مؤهلة المستحقة للقبول الاجتماعي

08:01 الكريبتون | ارتفعت الأسهم مفهوم الساخن معا؛ والدخن 2020 R & D الاستثمار تصل الى 10 مليار يوان، الاستجابة قافية علي شائعات استحواذ

مصب مصب الشارع: تعيش تحسين البيئة "اللباس" الريف الجميل

بلدة جزيرة المصب: Jinshao وضع القش والاستخدام الشامل لل"جنبا إلى جنب"

وقال مدير إدارة التعليم بالمقاطعة لزيارة جيجو مدرسة شمال الأوسط الوقاية من الاوبئة والرقابة والتفتيش على إعداد السيرة الذاتية المدرسة

أعلى تايشان لشيويه Piaopiao صغيرة! هذه الثلوج في الربيع، واسمحوا طرزان يصبح الشعري

الملاكمة مقاطعة مجلس أعضاء التربية والتعليم والكوادر، قنغ Wangcun السكرتير الاول للعمل وثائقي هان Chunbing

الدرابزين المركزي في عداد المفقودين، وأصحاب العقارات السكنية للسفر عندما تكون في ورطة، الشوارع لا: استدعاء الشرطة ثم نقل السياج