Ansible / المتقدم: التنسيق والمنصات والاختبارات والتشخيص / الدرس 15
تصميم التغيير المتدرج بالسعة وشروط الوقف
افصل دفعات serial وforks والاستراتيجية وthrottle والخلفية والصحة وميزانية الفشل في خطة طرح.
في هذه الصفحة
أهداف الدرس
- شرح ضوابط التزامن بنطاقاتها.
- تحديد السعة والقبول بين الدفعات.
- تفسير عتبات الفشل دون افتراض رجوع أو ذرية.
تحل ضوابط التزامن مسائل جدولة مختلفة
تقسم serial السكان وتحدد forks العمال وتقيد throttle مهام بحدود، وتحدد الاستراتيجية تقدم المضيفين. لا تستبدل رقم تواز عام واحداً وقد يحتاج المشترك سياسة أخرى. اقرأ الفعال قبل الترتيب وحدد المتداخل والحاجز قبل التالي. وقد تكون زيادة عدد العمال بلا أثر إذا قيدت المهمة throttle أو كان حجم الدفعة أصغر، فلا يستنتج حد التزامن الفعلي من إعداد منفرد.
يستهلك حجم الدفعة هامش الخدمة والعطل
قد يخفض تغيير عدة عقد السعة قبل الفشل. اختر بمقاييس الطلب والتكرار والاعتماد والعطل لا نسبة شائعة. ليست العملية السليمة جاهزة للمرور. حدد التصريف والتطبيق والتحقق والتفعيل والصحة والعودة والوقف؛ لا ننفذها بل نعد مراجعتها. وينبغي أن تحسب الخطة بقاء الخدمة عند فشل إضافي أثناء الدفعة، لا عند نجاح كل خطوة مثالية فقط، مع الحفاظ على مسار تعاف يمكن الوصول إليه.
لعتبات الفشل مقارنة دقيقة
تؤثر الخيارات في المتابعة لا الرجوع. يجب تجاوز max_fail_percentage لا بلوغها فقط وفق النموذج الموثق. فسر بالدفعة والنتائج لا إجمالي مخمن، واحفظ التعافي أو التجاهل بصدق. اختبر الصفر والمساوي وما فوقه؛ يصرح الحساب المقام والمقارنة. ولا يكفي تقريب النسبة في ملخص بصري لاتخاذ القرار؛ فالمقام وحالة كل مضيف وقاعدة المقارنة الدقيقة أجزاء لازمة من تفسير ميزانية الفشل.
batch_size = 4
threshold = 25
for failed in (0, 1, 2):
exceeds = (100 * failed / batch_size) > threshold
print(f'failed={failed} exceeds_threshold={exceeds}')
failed=0 exceeds_threshold=False
failed=1 exceeds_threshold=False
failed=2 exceeds_threshold=True
واحد من أربعة يساوي25% لا يتجاوز واثنان يتجاوزان؛ الحساب لا ينفذ استراتيجية أو طرحاً.
الإطلاق غير المتزامن ليس إكمالاً ناجحاً
تغير async وpoll الإطلاق والرصد حسب الدعم. يحتاج غير المنتظر جمعاً وتنظيفاً ولا يكفي الإقرار. قد تتجاوز الخلفية حد المورد المتخيل؛ حدد ملكية المعرف والمهلة والنهائي والإلغاء وحدود check. لا تخف المهلة بفقد الإكمال. ويجب أن يبقى مالك العمل معروفاً بعد الإطلاق، بما في ذلك كيفية جمع النتيجة النهائية وتنظيف الأثر والتعامل مع انقطاع انتظار المتحكم نفسه.
تمثيل سياسة الدفعة دون تنفيذ طرح
يبقى المثال debug غير قابل للتشغيل لغياب فحص المحرك والجرد. يعبر serial والحد جزءاً لا صحة أو تصريفاً أو رجوعاً أو سعة. اختبر التسلسل وغير المدعوم بمؤقت قبل الإنتاج واحفظ السابق والتعافي والتوافق. لا يستبدل الملخص الأخضر صحة العائد وفهم المتجاوز والغائب. كما أن إعادة العقدة إلى الخدمة تحتاج دليلاً على جاهزيتها الفعلية، لا مجرد وصول المهمة الأخيرة إلى نهاية قائمة المهام دون خطأ مبلغ.
- name: Illustrate a review-only rolling policy
hosts: lab_nodes
gather_facts: false
serial: 2
max_fail_percentage: 25
tasks:
- name: Describe a planned batch stage
ansible.builtin.debug:
msg: Synthetic batch description only
لم يشكل المحرك دفعة أو ينفذها؛ القيم تعليمية لا توصية عامة.
الأخطاء الشائعة وإصلاحها
اعتبار serial ضمان توفر كامل
- لماذا يحدث؟
- أُهملت السعة والصحة والاعتماد.
- كيف تصلحه؟
- عرف بوابات التطبيق والسعة.
- كيف تتجنب تكراره؟
- اختبر سيناريو العطل.
اعتبار بلوغ النسبة تجاوزاً
- لماذا يحدث؟
- أُهملت المقارنة الدقيقة.
- كيف تصلحه؟
- اختبر المساوي والمتجاوز.
- كيف تتجنب تكراره؟
- وثق المقام والنطاق.
قبول إطلاق async إكمالاً
- لماذا يحدث؟
- فُقد الرصد والملكية.
- كيف تصلحه؟
- اجمع النهائي وعالج المهلة والإلغاء.
- كيف تتجنب تكراره؟
- أدرج عمر الخلفية بالعقد.
اختبر فهمك
1. لماذا يختبر فشل واحد واثنين منفصلين بدفعة أربعة وحد25%؟
اعرض الحل المشروح
يبلغ الواحد ويتجاوز الاثنان فتختلف القاعدة. تحقق من نتائج المحرك وسياقه لأن الحساب لا يمثل الإنقاذ والتجاهل والاستراتيجية.
2. ماذا يفحص قبل الدفعة التالية؟
اعرض الحل المشروح
افحص الجاهزية والقبول والاعتماد وحساب الفشل والسعة ومسار التعافي لا نجاح المهام وحده.
أهم ما تعلمته
- افصل الدفعة والجدولة وجاهزية التطبيق.
- عرف الوقف الدقيق وإكمال الخلفية المملوك.