0Pricing
Kubernetes Basics · درس

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

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

استراتيجيات النشر: Blue-Green وCanary درس مجاني في Kubernetes Basics على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Kubernetes Basics، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Kubernetes Basics 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) وفتح باقي دورة Kubernetes Basics، انتقل إلى CoddyKit PRO. تتضمن دورة Kubernetes Basics 4 دروس في المجموع.

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

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

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

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

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

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

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

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

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

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