يعد نشر Blue-green استراتيجية إدارة إصدار برامج مستخدمة على نطاق واسع. يتضمن بيئتين متطابقتين للأجهزة - أحدهما نشط ويخدم المستخدمين بينما يظل الآخر في وضع الاستعداد. يسهل هذا النهج الإدارة السلسة لتحديثات البرامج ويقلل من مخاطر تعطل النظام.
تم إصدار كود جديد مبدئيًا لبيئات التدريج ، حيث يخضع لاختبارات صارمة. بمجرد موافقة الفريق على الكود المحدث ، يتم تعديل تكوين جهاز التوجيه لتحويل حركة مرور التطبيق إلى بيئة الإنتاج الآن. في حالة ظهور أية مشكلات ، يعودون إلى بيئة الإنتاج السابقة لمتابعة استخدام إصدار البرنامج الأصلي.
تتضمن بعض الفوائد الجديرة بالملاحظة لعمليات النشر باللونين الأزرق والأخضر ما يلي:
تزداد شعبية Kubernetes كبيئة للتطوير والاختبار ونشر الإنتاج. على الرغم من أنه يبسط نشر التطبيق ، إلا أن Kubernetes لا يقدم وظائف نشر زرقاء وخضراء أصلية بشكل مبتكر. بدلاً من ذلك ، فإنه يوفر كائن نشر يمكّن من تدوير التحديثات ، والتي يمكنها ، إلى حد ما ، استبدال كبسولات التطبيق بأحدث إصدار لها دون أي توقف.
عمليات النشر المتداول تأتي مع بعض القيود. يمكنهم جعل عمليات التراجع صعبة وقد تتطلب فحوصات Kubernetes الصحية لقياس حالة البودات ضمن عملية النشر. بالإضافة إلى ذلك ، يمكن أن تستغرق عمليات النشر المتدرجة وقتًا أطول مقارنةً بالنمط الأزرق والأخضر الخالص ، حيث يحدث التبديل إلى إصدار جديد على الفور.
لتنفيذ عمليات النشر باللونين الأزرق والأخضر بشكل فعال باستخدام Kubernetes ، ضع في اعتبارك الأدوات التالية:
Argo Rollouts عبارة عن مجموعة مفتوحة المصدر من وحدات تحكم Kubernetes وتعريفات الموارد المخصصة (CRDs) التي تضيف ميزات نشر متقدمة مثل عمليات النشر الزرقاء والخضراء والتجارب وإمكانيات التسليم التدريجي الأخرى. يتكامل اختياريًا مع وحدات التحكم في الدخول وشبكات الخدمة Kubernetes لإدارة حركة المرور أثناء التحديثات. ويمكنه أيضًا الاستعلام عن المقاييس من الأنظمة الأخرى وتفسيرها للتحقق من صحة مؤشرات الأداء الرئيسية (KPIs) وتعزيز الإصدارات أو التراجع عنها تلقائيًا.
Flagger هي أداة تسليم تقدمية تعمل على أتمتة عملية إصدار التطبيقات التي تعمل على Kubernetes. إنه يقلل من مخاطر إدخال إصدارات برمجية جديدة في الإنتاج عن طريق تحويل حركة المرور تدريجيًا إلى الإصدار المحدث أثناء تقييم المقاييس وإجراء اختبارات المطابقة. يدعم برنامج Flagger استراتيجيات النشر المتعددة ، مثل إصدارات الكناري واختبار A / B وعمليات النشر باللونين الأزرق والأخضر ، ويتكامل مع العديد من وحدات التحكم في الدخول وشبكات الخدمة وأنظمة المراقبة من Kubernetes.
GitLab CI / CD عبارة عن نظام أساسي DevOps مليء بالميزات يعمل على تبسيط مشاريع تطوير البرامج الكبيرة. بالإضافة إلى مستودع الكود وإمكانيات تتبع المشكلات ، يقدم GitLab أتمتة CI / CD التي تدعم عمليات النشر التي يتم تشغيلها يدويًا وعمليات النشر المجدولة لأنظمة إنتاج Kubernetes ، بما في ذلك استراتيجيات النشر التدريجي مثل النشر الأزرق والأخضر.
CircleCI هي عبارة عن منصة CI / CD تساعد فرق الهندسة على بناء البرامج واختبارها ونشرها مع تتبع تغييرات التعليمات البرمجية في الوقت الفعلي عبر واجهة مستخدم لوحة القيادة الخاصة بها. يدعم CircleCI النشر إلى مجموعات Kubernetes ويتكامل مع الخدمات الأخرى لاستراتيجيات النشر مثل علامات الميزات ، والأزرق والأخضر ، وعمليات النشر الكناري.
قدمت هذه المقالة نمط النشر باللونين الأزرق والأخضر ومزاياها المتنوعة وخياراتها لتطبيق هذه التقنية في بيئة Kubernetes. من خلال التفكير في أدوات مثل Argo Rollouts أو Flagger أو GitLab CI / CD أو CircleCI ، يمكنك تحقيق إصدارات برامج أكثر سلاسة وتقليل وقت التوقف عن العمل وتحسين التجربة العامة لكل من المطورين والمستخدمين النهائيين في بيئة Kubernetes الخاصة بك. أثناء استكشاف هذه الأدوات ، ضع في اعتبارك المتطلبات الفريدة لخط أنابيب تطوير البرامج لديك لتحديد الحل الأفضل الذي يتوافق مع احتياجات فريقك.