الفصل 3.7 - استراتيجيات النشر
أهداف التعلم
في نهاية هذا الفصل، ستكون قادرًا على:
- فهم الاستراتيجيات المختلفة للنشر
- تنفيذ التحديثات المتدحرجة
- استخدام عمليات النشر Blue/Green
- إعداد عمليات النشر Canary
أنواع الاستراتيجيات
1. Rolling Update (الافتراضي)
تحديث تدريجي بدون انقطاع:
الإعداد:
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1 # Pods إضافية مسموح بها
maxUnavailable: 0 # الحد الأقصى للـ Pods غير المتاحة
2. Recreate
حذف كل شيء ثم إعادة الإنشاء:
الإعداد:
strategy:
type: Recreate
Blue/Green Deployment
نشر بيئتين كاملتين:
المزايا:
- تراجع فوري
- اختبار كامل قبل التبديل
- لا يوجد خلط بين الإصدارات
التنفيذ:
- نشران منفصلان
- خدمة تشير إلى أحدهما
- التبديل عبر تغيير المحدد
Canary Deployment
نشر تدريجي بنسبة صغيرة:
العملية:
- نشر الإصدار الجديد بنسبة 10%
- مراقبة المقاييس
- زيادة تدريجية إذا كان كل شيء جيدًا
- التراجع إذا كانت هناك مشكلة
التنفيذ:
- نشران مع تسميات مختلفة
- خدمة مع اختيار مرجح
- أو استخدام Istio للتوجيه المتقدم
الإعداد المتقدم
MaxSurge و MaxUnavailable
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 2 # يمكن إنشاء 2 Pods إضافية
maxUnavailable: 1 # يمكن أن يكون 1 Pod غير متاح
مثال مع 3 نسخ:
- أثناء التحديث: 4-5 Pods ممكنة (3 + maxSurge)
- الحد الأدنى المتاح: 2 Pods (3 - maxUnavailable)
الملخص
في هذا الفصل، تعلمت:
Rolling Update: تحديث تدريجي (الافتراضي)
Recreate: حذف ثم إعادة إنشاء
Blue/Green: بيئتان كاملتان
Canary: نشر تدريجي بنسبة صغيرة
الإعداد: maxSurge و maxUnavailable للتحكم في العملية
الخطوات التالية
الآن بعد أن تعرفت على الاستراتيجيات:
الفصل 3.8: فحوصات الصحة
المختبر 3.3: عمليات النشر والتحديثات المتدحرجة
تم إنشاء الفصل في: ديسمبر 2024