0Pricing
DevOps Bootcamp · درس

استراتيجيات النشر: Blue-Green وCanary

تجاوزوا التحديثات التدريجية وتعلّموا الإصدار بأمان باستخدام أنماط نشر blue-green وcanary في Kubernetes

استراتيجيات النشر: Blue-Green وCanary درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

لماذا نحتاج إلى أكثر من التحديثات التدريجية؟

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

تمنحك استراتيجيتا blue-green وcanary هذا التحكم.

فكرة Blue-Green

في عملية نشر blue-green، تشغّل بيئتين متطابقتين:

  • Blue = الإصدار الحالي المباشر
  • Green = الإصدار الجديد، منشور بالكامل لكنه لا يستقبل حركة المرور بعد

ثم تحوّل حركة المرور من Blue إلى Green دفعةً واحدة.

عمليتا Deployment وService واحدة

يكون كل إصدار Deployment مستقلاً يحمل وسم إصدار. وتحدد Service واحدة اللون النشط أياً كان.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: app-blue
spec:
  replicas: 3
  selector:
    matchLabels:
      app: web
      version: blue
  template:
    metadata:
      labels:
        app: web
        version: blue
    spec:
      containers:
      - name: web
        image: myapp:1.0

تحويل حركة المرور

لتفعيل Green، ما عليك سوى تعديل محدد Service ليوجّه إلى إصدار Green. ويحدث التحويل فوراً.

kubectl patch service web -p '{"spec":{"selector":{"app":"web","version":"green"}}}'

مزايا Blue-Green وعيوبه

  • الميزة: التراجع الفوري بالتحويل مجدداً إلى Blue
  • الميزة: عدم خلط الإصدارات أثناء الإصدار
  • العيب: الحاجة إلى ضعف الموارد أثناء فترة التداخل

فكرة Canary

يرسل إصدار canary جزءاً صغيراً من حركة المرور إلى الإصدار الجديد أولاً. فإذا بدت المقاييس سليمة، تزيد حجمه تدريجياً.

جاءت التسمية من طيور الكناري التي كان عمال المناجم يستخدمونها لاكتشاف الخطر مبكراً.

Canary باستخدام أعداد النسخ

يستخدم canary البسيط عمليتي Deployment تشتركان في وسم Service نفسه. وتنقسم حركة المرور تقريباً وفق نسبة عدد النسخ.

# stable: 9 replicas, canary: 1 replica => ~10% to canary
kubectl scale deployment app-stable --replicas=9
kubectl scale deployment app-canary --replicas=1

ترقية Canary

مع ازدياد الثقة، تحوّل النسبة تدريجياً نحو canary، ثم تتخلص من الإصدار القديم عندما يتولى جميع حركة المرور.

kubectl scale deployment app-canary --replicas=5
kubectl scale deployment app-stable --replicas=5
# later, fully promote
kubectl scale deployment app-canary --replicas=10
kubectl scale deployment app-stable --replicas=0

مراقبة Canary

المقصود الأساسي من canary هو المراقبة. راقب معدلات الأخطاء وزمن الاستجابة والسجلات قبل الترقية.

kubectl get pods -l version=canary
kubectl logs -l version=canary --tail=50

اختيار الاستراتيجية

  • Blue-green: الأفضل عندما تريد تحويلاً نظيفاً وفورياً وتراجعاً سريعاً
  • Canary: الأفضل عندما تريد الحد من نطاق التأثير والتحقق باستخدام حركة مرور حقيقية
  • Rolling: خيار افتراضي جيد للتحديثات الروتينية منخفضة المخاطر

أدوات تتجاوز kubectl

لتقسيم حركة المرور بدقة (مثل 5% تماماً)، تستخدم الفرق service meshes مثل Istio أو أدوات التسليم التدريجي مثل Argo Rollouts وFlagger، التي تؤتمت تحليل canary.

تحقق سريع

اختر العبارة التي تصف إصدار canary بأفضل شكل.

مراجعة

قارنت بين استراتيجيات الإصدار المتقدمة. يحوّل Blue-green كل حركة المرور فوراً بين بيئتين لتوفير تراجع سريع، بينما ينقل canary حركة المرور تدريجياً للحد من المخاطر. وتعتمد كلتا الاستراتيجيتين على بدائيات Deployment وService التي تعرفها بالفعل.

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

هل درس «استراتيجيات النشر: Blue-Green وCanary» مجاني؟

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

ماذا ستتعلم في «استراتيجيات النشر: Blue-Green وCanary»؟

تجاوزوا التحديثات التدريجية وتعلّموا الإصدار بأمان باستخدام أنماط نشر blue-green وcanary في Kubernetes تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

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

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

كم من الوقت يستغرق درس «استراتيجيات النشر: Blue-Green وCanary»؟

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

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

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

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

  1. فهم Deployments
  2. توسيع التطبيقات باستخدام ReplicaSets
  3. التحديثات التدريجية والتراجع
  4. استراتيجيات النشر: Blue-Green وCanary
← العودة إلى DevOps Bootcamp