العودة إلى المدونة

نشر التطبيقات على Kubernetes باستخدام Argo CD و GitOps

نشر التطبيقات على Kubernetes باستخدام Argo CD و GitOps

مقدمة

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

ومع ذلك، فإن إدارة التطبيقات على Kubernetes يمكن أن تكون معقدة أيضًا وتتطلب مهارات متقدمة. يساعد نشر التطبيقات باستخدام Kubernetes و Continuous Integration and Continuous Deployment (CI/CD) في التغلب على هذه العملية المعقدة من خلال توفير التجريد. GitOps هي إحدى الأدوات التي يمكن أن تساعد في تحقيق التجريد.

في هذا البرنامج التعليمي، سنوضح كيفية استخدام Argo CD لدمج ونشر التطبيقات باستمرار على Kubernetes. كلما تم دفع أي تغيير إلى المستودع، يتم نشره على المجموعة المستهدفة. Argo CD أيضًا عناصر التحكم في الإصدار والتكوينات وبيئات التطبيقات من خلال التكامل مع دورة حياة تطوير البرمجيات بأكملها. إذا كان لديك مديرو حزم لـ Kubernetes مثل Helm، أو إذا كان مستودعك مستضافًا على BitBucket أو GitLab، فيمكن لـ Argo CD التكامل بسلاسة مع جميع هذه المنصات أيضًا.

المتطلبات الأساسية

لإكمال هذا البرنامج التعليمي، يجب أن يتوفر لديك:

الخطوة 1 – تثبيت Argo CD

قبل أن نتمكن من تثبيت Argo CD، نحتاج إلى تشغيل بيئة Kubernetes مع kubectl. يمكنك اختبار ذلك عن طريق تشغيل الأمر أدناه:

Deploying Applications on Kubernetes Using Argo CD and GitOps Get Nodes

يجب أن ترى عقدة Kubernetes واحدة على الأقل تعمل في حالة Ready. إذا لم تكن هناك عقدة متاحة، فيجب عليك إعادة التحقق من تثبيت Kubernetes الخاص بك. بعد ذلك، سنقوم بإنشاء مساحة اسم منفصلة لتثبيت Kubernetes الخاص بنا. لنطلق عليها اسم argocd. سنحتفظ بالخدمة المتعلقة بـ Argo CD في مساحة الاسم هذه:

بعد ذلك، قم بتثبيت البرامج النصية لـ Argo CD في مساحة الاسم التي تم إنشاؤها حديثًا أعلاه عن طريق تشغيل الأمر أدناه:

Deploying Applications on Kubernetes Using Argo CD and GitOps Install ArgoCD

للتحقق من حالة وحدات (pods) Kubernetes، قم بتشغيل الأمر أدناه:

ستحصل على نتيجة مثل أدناه:

Deploying Applications on Kubernetes Using Argo CD and GitOps Get Pods

هنا تكون قد انتهيت بنجاح من تثبيت Argo CD. للخروج من واجهة watch، يمكنك الضغط على Ctrl + C. للوصول إلى الخدمات في مجموعة Kubernetes هذه، سنحتاج إلى توجيه المنافذ. سنوضح لك كيفية القيام بذلك في الخطوة التالية.

الخطوة 2 – توجيه المنافذ للوصول إلى Argo CD

يمكن لـ Kubernetes نشر تطبيقك على أي منفذ يختاره. وبالتالي، من الضروري توجيه منافذ تطبيق Kubernetes للوصول إليها من الجهاز المحلي. يعرض Argo CD خدمة تسمى argocd-server والتي تستخدم المنفذ 443. المنفذ 443 هو المنفذ الافتراضي لخدمات HTTPS و HTTP. يمكنك توجيه منافذ Kubernetes إلى منفذ من اختيارك. في مثالنا أدناه، قمنا بتوجيه المنفذ إلى 8080. لتوجيه المنافذ، قم بتشغيل الأمر أدناه في الطرفية (terminal):

بمجرد إعادة توجيه المنفذ، سيتم حظره حتى لا تتمكن الخدمات الأخرى من الوصول إليه. للحصول على وصول دون انقطاع، يوصى دائمًا بتشغيل الأمر المذكور أعلاه في طرفية جديدة. بمجرد الانتهاء، يمكنك الضغط على Ctrl+C لإنهاء عملية إعادة توجيه المنفذ.

بعد إعادة توجيه المنفذ، يمكنك الانتقال إلى Argo CD بالانتقال إلى localhost:8080. ستتم مطالبتك ببيانات الاعتماد التي يمكنك الحصول عليها من سطر الأوامر في الخطوة التالية.

Step 3 – Manage Argo CD from the Command Line

يتعين علينا تثبيت واجهة سطر أوامر Argo CD لإدارة تثبيت Argo CD. الطريقة الموصى بها لتثبيت Argo CD هي استخدام مدير حزم مثل Homebrew. إن Homebrew هو أداة إدارة حزم شائعة للتثبيت على نظامي التشغيل macOS و Linux. يمكنك تثبيت Homebrew باستخدام الأمر أدناه:

يجب أن يكون لديك brew مثبتًا على جهازك. قد تظهر مطالبة بكلمة المرور لتسجيل الدخول. يمكنك تشغيله عن طريق تشغيل الأمر أدناه:

ستحصل على الأمر argocd بعد التثبيت أعلاه. سنحتاج إلى استرداد كلمة مرور المسؤول باستخدام الأمر kubectl . تم إنشاؤها تلقائيًا أثناء التثبيت. أدناه هو الأمر للحصول عليها:

الآن بعد أن قمت بتثبيت Argo CD، يمكنك تسجيل الدخول باستخدام الأمر argocd login أدناه:

ستحتاج إلى تسجيل الدخول لنشر التطبيق عند استخدام سطر الأوامر:

Applications

قد تتلقى تحذيرًا أمنيًا. إذا كان الأمر كذلك، اضغط على y للمتابعة للأمام. قد يرغب العديد من المستخدمين في تغيير كلمة المرور بمجرد تسجيل الدخول. إذا كان الأمر كذلك، فقم بتشغيل الأمر argocd account update-password لتغيير كلمة المرور. لدينا الآن تكوين Argo CD يعمل بكامل طاقته.

أخيرًا، سنقوم بنشر تطبيق على مجموعة Kubernetes باستخدام Argo CD المثبت.

Step 4 – Utilize Multiple Clusters

قبل متابعة إعداد تطبيقك، من الضروري معرفة الجهاز المستهدف الذي تريد نشره فيه. في العديد من السيناريوهات، يمكن تشغيل Argo CD والتطبيق المنشور على نفس المجموعة. هذا هو السلوك الافتراضي لـ Argo CD ولكن هذا ليس قيدًا. إذا كنت تريد نشر التطبيق على أجهزة مستهدفة أخرى، فقم أولاً بتشغيل kubectl config في جهازك:

افترض أنك حصلت على مجموعتين: test-deploy-cluster و test-target-cluster. الآن إذا كانت test-deploy-cluster هي المكان الذي يوجد فيه Argo CD وتريد النشر على test-target-cluster، فقم بتشغيل الأمر أدناه:

سيضيف الأمر أعلاه تفاصيل المجموعة الإضافية على Argo CD. سيسمح أيضًا بنشر الخدمات على مجموعة Argo CD المستهدفة.

Step 5 – Deploy an Example Application

لقد حان الوقت أخيرًا لنشر التطبيقات على مجموعة Kubernetes. سنستخدم التطبيقات التجريبية التي يوفرها Argo CD. سنستخدم أيضًا helm-guestbook الذي تم بناؤه باستخدام Helm مخططات.

لتثبيت التطبيق، سنستخدم الأمر argo app create . سنحدد مستودع Git, helm-guestbook ، وتمرير وجهتك الافتراضية ومساحة الاسم (namespace):

يمكنك التحقق من حالة التطبيق الذي تم إنشاؤه حديثًا عن طريق تشغيل argocd app get:

لا تتفاجأ إذا رأيت OutOfSync . حتى الآن قمنا بتنزيل مخطط Helm وإنشاء نقطة دخول إليه لـ Argo CD. ومع ذلك، في جانب Kubernetes، لا يوجد أي مورد مخصص له. لـ مزامنة هذا التطبيق، قم بتشغيل الأمر أدناه:

Deploying Applications on Kubernetes Using Argo CD and GitOps App Sync

عند العمل مع GitOps، يلزم دائمًا مزامنة التطبيق مع المستودع الرئيسي (upstream). وبالتالي، كلما حدث تغيير في المستودع، يقوم Argo CD بنشر التطبيق.

لقد قمنا بنشر التطبيق باستخدام واجهة سطر أوامر Argo CD. يمكنك تحقيق نفس النتيجة باستخدام واجهة ويب Argo CD. واجهة الويب مفيدة جدًا إذا كنت ترغب في التحقق من حالة التطبيق وتشغيله. لفتح واجهة الويب، افتح localhost:8080:

Deploying Applications on Kubernetes Using Argo CD and GitOps Application UI

للتحقق من التثبيت، سنقوم بفتح التطبيق في المتصفح. تطبيق helm-guestbook يعمل على المنفذ 80. إذا كان لديك أي تطبيق آخر يستخدم المنفذ 80، يمكنك توجيه المنفذ حتى لا يتم مقاطعة التطبيقات الأخرى:

أخيرًا، افتح رابط URL localhost:9090 على متصفح الويب الخاص بك لرؤية تطبيقك قيد التشغيل:

 Guestbook UI

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

الخاتمة

في هذا البرنامج التعليمي، أوضحنا لك كيفية تثبيت ونشر التطبيقات على Kubernetes باستخدام Argo CD. من المهم التأكد من أن عمليات النشر الخاصة بك على Kubernetes قابلة للصيانة. يمكن أن يساعدك GitOps كثيرًا في هذا الصدد.

أصبحت Kubernetes الآن هي المعيار لعمليات النشر على السحابة. تمتلك Cloudsigma بعض البرامج التعليمية الرائعة حول Kubernetes التي يمكنك الاطلاع عليها بعد ذلك:

حوسبة سعيدة!

author

Preslav Dobrev

المؤلف · CloudSigma

Preslav Dobrev هو مصمم إبداعي في CloudSigma، يركز على هوية أعمال متسقة باستخدام قنوات التسويق التقليدية والمبتكرة. هو بارع في دمج الرؤية الفنية مع التسويق الاستراتيجي لخلق سرد قصصي مؤثر للعلامة التجارية.

التعليقات

لا توجد تعليقات بعد. كن أول من يعلق.