Kubernetes / الأساسي: الكائنات وحدود التنفيذ / الدرس 3
Pods ومتحكمات الأحمال
اختر نموذج الحمل من حياة العملية والهوية والاكتمال والاستبدال بدلا من استخدام Pod منفردة لكل عمل.
في هذه الصفحة
أهداف الدرس
- اشرح النموذج والافتراضات والحدود المتعلقة بموضوع «Pods ومتحكمات الأحمال».
- فسر المثالين وميز النية المعلنة من الدليل المثبت.
- شخص الإخفاقات وعلل قرارات الاستعادة المشروحة دون تنفيذ عمليات عنقود.
Pod وحدة تنفيذ
تجمع Pod حاويات بشبكة وتخزين مختار مشتركين مع صور وعمليات منفصلة. اجمع ما يحتاج حياة مترابطة بإحكام لا كل مكونات المنتج. Pod مؤقتة وليست هوية آلة دائمة؛ فعند فقد العقدة ينشئ المتحكم بديلا جديدا لا ينقل القديمة كاملة. يجب أن يتحمل التطبيق فقد الاتصال والعمل المقطوع.
قراءة حياة الحاوية والتهيئة
قد تنتظر الحاوية أو تعمل أو تنتهي بأسباب ومعلومات خروج أهم من ملخص منفرد. تهيئ init المتطلبات قبل التطبيق. لتفاصيل sidecar علاقة بالإصدار، فلا تفترض ترتيب الجميع. يفصل الخط الاصطناعي نجاح التهيئة وفشل التطبيق. لا تعني Running جاهزية كل حاوية أو صحة العمل. احفظ اسم الحاوية وعدد إعاداتها في التشخيص.
init/config-check: terminated, exit 0
app/api: terminated, exit 1
app/api safe message: invalid nonsecret setting
owner: synthetic Deployment
interpretation: initialization succeeded; application startup failed
لا يجعل نجاح init التطبيق سليما. افحص الحاوية الفاشلة وقالب مالكها قبل تغيير النوع.
اختيار المتحكم بحسب المعنى
تلائم Deployment نسخا طويلة متبادلة، وتضيف StatefulSet هوية وربط تخزين مستقرين، وتضع DaemonSet نسخا بالعقد المؤهلة. تتتبع Job الاكتمال وتنشئ CronJob وظائف مجدولة. لا تضمن التنفيذ مرة واحدة أو إصلاح الحالة. يقارن السجل API ومهمة آمنة التكرار. اختر بالاكتمال والهوية والتخزين والاستعادة؛ ولا تستبدل StatefulSet تماثل القاعدة أو اتساقها أو نسخها.
workload intended controller required application property
interchangeable API Deployment safe concurrent replicas
nightly report CronJob -> Job idempotent resumable output
node log agent DaemonSet narrow node access
identity-bound data StatefulSet designed storage and recovery
يتبع الاختيار المعنى ولا يعد مرة واحدة أو أمان قاعدة تلقائيا أو إذن تثبيت عامل عقدة.
تصميم الاستبدال والاكتمال بأمان
قد تنتهي العملية قبل وصول دليلها فتحدث إعادة؛ لذا تحتاج الدفعات منع التكرار عند الأثر. حدد التداخل والمواعيد الفائتة والمنطقة والتأخير للمجدول. احفظ نقاط التقدم خارج طبقة مؤقتة. وللطويل حدد الإنهاء والقبول كي لا يقطع الاستبدال العمل المقبول كله. الافتراضات آليات لا تستنتج تسوية دفع أو رسالة جزئية.
فصل المواصفة والدليل
راجع قالب المتحكم لا تعديلا مؤقتا لـPod مولدة قد يستبدله. أدرج المالك والمراجعة والعقدة والحالة والزمن مع حجب الحساس. قارن المقصود بالإعادة والاكتمال قبل السياسة. السجلات خيالية ولا يبدأ حمل. يجعل الاختيار الاستبدال متوقعا لكنه يحتاج موارد مقاسة ووصولا ونتائج واستعادة مختبرة.
الأخطاء الشائعة وإصلاحها
يتوقع من Pod منفردة التعافي دائما
- لماذا يحدث؟
- لا يملك متحكم الاستبدال.
- كيف تصلحه؟
- اختر نموذجا مناسبا مراجعا.
- كيف تتجنب تكراره؟
- وثق المالك ومعنى الاستبدال.
تكرر Job أثرا خارجيا
- لماذا يحدث؟
- اعتبرت الإعادة تنفيذا مرة واحدة.
- كيف تصلحه؟
- استخدم منع التكرار والتقدم والتسوية.
- كيف تتجنب تكراره؟
- اختبر القطع قرب الاكتمال.
لا يستمر تعديل Pod واحدة
- لماذا يحدث؟
- يعيد المتحكم القالب المعلن.
- كيف تصلحه؟
- أصلح قالب المالك المراجع.
- كيف تتجنب تكراره؟
- تتبع مراجع المالك قبل التشخيص.
اختبر فهمك
1. قد يعاد تقرير بعد القطع. ما المتحكم والسلوك الملائمان؟
اعرض الحل المشروح
استخدم Job للاكتمال أو CronJob للجدولة مع هوية ناتج تمنع التكرار واستئناف. ليست إعادة المتحكم إزالة تكرار؛ فتحقق من ملاحظة السابق بدل نشر الأثر مرتين.
2. هل تجعل StatefulSet القاعدة آمنة بعد فقد العقدة؟
اعرض الحل المشروح
لا. تفيد الهوية وربط التخزين قاعدة مصممة لهما، وتبقى المعاملات والتماثل والعزل والنسخ والاستعادة مستقلة. راجع ضمانات المشغل والتخزين لا اسم المتحكم.
أهم ما تعلمته
- تجمع Pod حاويات بشبكة وتخزين مختار مشتركين مع صور وعمليات منفصلة.
- تلائم Deployment نسخا طويلة متبادلة، وتضيف StatefulSet هوية وربط تخزين مستقرين، وتضع DaemonSet نسخا بالعقد المؤهلة.
- راجع قالب المتحكم لا تعديلا مؤقتا لـPod مولدة قد يستبدله.