نأمل أن تقرأ الجزء الاول، حيث شرحنا بإيجاز ما هي عمليات نشر Canary. لقد أظهرنا أيضًا كيفية تنفيذه باستخدام موارد Kubernetes القياسية.
طرح آرجو
Argo Rollouts عبارة عن وحدة تحكم نشر أصلية لـ Kubernetes. يوفر CRD (تعريف الموارد المخصص) لـ Kubernetes. وبفضل ذلك، يمكننا استخدام كيان جديد: Rollout، الذي يدير عمليات النشر باللونين الأزرق والأخضر والكناري مع خيارات التكوين المتنوعة.
وحدة تحكم Argo Rollouts المستخدمة بواسطة مورد مخصص Rollout, يسمح باستراتيجيات نشر إضافية مثل الأزرق والأخضر والكناري لـ Kubernetes. الموارد Rollout يوفر وظيفة مكافئة Deployment، فقط مع استراتيجيات النشر الإضافية.
مورد Deployments لديه استراتيجيتين للنشر: RollingUpdate и Recreate. على الرغم من أن هذه الاستراتيجيات مناسبة لمعظم الحالات، للنشر على الخوادم على نطاق واسع جدًا، يتم استخدام استراتيجيات إضافية، مثل الأزرق والأخضر أو الكناري، والتي لا تتوفر في وحدة تحكم النشر. لاستخدام هذه الاستراتيجيات في Kubernetes، كان على المستخدمين كتابة نصوص برمجية فوق عمليات النشر الخاصة بهم. تعرض وحدة التحكم Argo Rollouts هذه الاستراتيجيات كمعلمات بسيطة وتعريفية وقابلة للتكوين. https://argoproj.github.io/argo-rollouts
هناك أيضًا Argo CI، الذي يوفر واجهة ويب ملائمة للاستخدام مع Rollouts، وسنلقي نظرة على ذلك في المقالة التالية.
في البنية التحتية الخاصة بنا (انظر أدناه)، أضفنا بالفعل install.yaml كـ i/k8s/argo-rollouts/install.yaml. بهذه الطريقة سيقوم GitlabCI بتثبيته في المجموعة.
أوصي حقًا بهذا الفيديو، فهو يوضح كيفية عمل Argo Rollouts وArgo CI معًا:
مجموع
تعجبني حقًا فكرة استخدام CRDs التي تدير إنشاء أنواع إضافية من عمليات النشر أو مجموعات النسخ المتماثلة، وإعادة توجيه حركة المرور، وما إلى ذلك. العمل معهم يسير بسلاسة. بعد ذلك أود اختبار التكامل مع Argo CI.
ومع ذلك، يبدو أن هناك اندماجًا كبيرًا بين Argo CI وFlux CI، لذا قد أنتظر حتى صدور الإصدار الجديد: أرجو الجريان.