استراتيجية الترحيل إلى Kubernetes وأفضل الممارسات

رجل يجلس أمام جهاز كمبيوتر.

المؤلفون

Stephanie Susnjara

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

استراتيجية الترحيل إلى Kubernetes وأفضل الممارسات

تتكون استراتيجية ترحيل Kubernetes من خطة تفصيلية لنقل التطبيقات وأعباء العمل إلى بيئة حاويات، بما في ذلك أفضل الممارسات لتحقيق نتيجة ناجحة.

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

بصفته منصة التنسيق الرائدة، يمكِّن Kubernetes المؤسسات من إدارة رحلات ترحيل السحابة الخاصة بها، ما يجعل من السهل نقل التطبيقات القديمة إلى بيئات سحابية أصلية.

وفقًا لدراسة أجرتها Cloud Native Computing Foundation (CNCF) عام 2024، فقد وصل تبنّي الحوسبة السحابية الأصلية إلى 89%، حيث تستخدم 93% من المؤسسات الآن Kubernetes أو تعمل على تجربته أو تقييمه.1

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

أحدث الأخبار التقنية، مدعومة برؤى خبراء

ابقَ على اطلاع دائم على أبرز الاتجاهات في مجالات الذكاء الاصطناعي، والأتمتة، والبيانات، وغيرها الكثير من خلال رسالة Think الإخبارية. راجع بيان الخصوصية لشركة IBM.

شكرًا لك! أنت مشترك.

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

نظرة عامة على نظام Kubernetes

تم تطوير Kubernetes في الأصل بواسطة Google، وهو منصة تنسيق حاويات مفتوحة المصدر يتم صيانتها بواسطة مؤسسة Cloud Native Computing Foundation (CNCF) منذ عام 2015. ويُعرَف أيضًا باسم k8s أو kube، ويعمل على جدولة وأتمتة نشر التطبيقات المعبأة في حاويات وإدارتها وتوسيع نطاقها.

قبل ظهور Kubernetes، كان يتم تشغيل التطبيقات عادةً على خوادم مخصصة أو أجهزة افتراضية (VMs)، ما يجعل عملية التوسع مكلفة وتستغرق وقتًا طويلًا.

في بيئات الحاويات الحديثة، يُتيح محرك التشغيل (عادةً Docker) للمطورين بناء الحاويات ونشرها وتشغيلها وتحديثها وإدارتها. يوفر Kubernetes طبقة التنسيق اللازمة لإدارة المئات أو الآلاف من الحاويات على نطاق واسع. اليوم، يُعَد كلٌّ من Docker وKubernetes من أبرز أدوات النقل بالحاويات.

يتم نشر Kubernetes من خلال مجموعات تتكون من عُقد - كلٌّ منها يمثِّل جهازًا فعليًا أو جهازًا افتراضيًا. تحتوي كل مجموعة على عقدة رئيسية تُدير مستوى التحكم (بما في ذلك خادم واجهة برمجة التطبيقات وقاعدة بيانات etcd). تعمل تطبيقات Kubernetes في حجيرات، وهي أصغر الوحدات القابلة للنشر. وتحتوي عادةً على حاويات قائمة على نظام Linux تتشارك في التخزين والموارد الأخرى.

تشمل الميزات الرئيسية لنظام Kubernetes عمليات النشر لإدارة دورة حياة التطبيقات ومجموعات النسخ، وخدمات DNS والشبكات لتقديم الخدمات، بالإضافة إلى المساحات الاسمية لعزل الموارد. يعمل خادم واجهة برمجة تطبيقات Kubernetes (الذي يتم الوصول إليه من خلال أداة سطر الأوامر kubectl) على إدارة التكوين وتنسيق الاتصال بين العناصر. وتتولى وحدات التخزين الدائمة تلبية احتياجات التخزين.

يُعَد Kubernetes مفتوح المصدر، ما يُتيح للمؤسسات تجنُّب التقيّد بمورِّد محدد. تستفيد فِرق عمليات التطوير والفِرق الأخرى من مجتمع عالمي يساهم في التحسينات وتصحيحات الأمان. تقدِّم جميع شركات خدمات الحوسبة السحابية الرئيسية خدمات Kubernetes المُدارة، بما في ذلك Amazon Web Services (AWS) وMicrosoft Azure وGoogle Cloud Platform وIBM Cloud.

فوائد الترحيل إلى Kubernetes

توفِّر عملية الترحيل إلى Kubernetes فوائد تقنية وتنظيمية، بما في ذلك:

  • تحسين استخدام الموارد وكفاءة التكلفة
  • تحسين الموثوقية والتوافر العالي
  • نشر أسرع
  • تعزيز إنتاجية الفريق واستقلاليته

تحسين استخدام الموارد وكفاءة التكلفة

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

تحسين الموثوقية والتوافر العالي

يساعد Kubernetes في الحفاظ على استقرار التطبيقات وتوفُّرها من خلال التوزيع عبر المجموعات والاسترداد التلقائي من حالات الفشل. ويساعد هذا في الحفاظ على التوافر العالي.

تسريع النشر

يمكِّن Kubernetes من التسليم المستمر على نطاق واسع للمساعدة على تبسيط مهام سير العمل والسماح للفِرق بإجراء التغييرات عند الحاجة. تعمل التحديثات التدريجية على نشر الإصدارات الجديدة بشكل تدريجي، مع مراقبة المشكلات قبل اكتمال عملية النشر. إذا ظهرت مشكلات، يتم التراجع عن التغييرات بسرعة.

تعزيز إنتاجية الفريق واستقلاليته

باستخدام Kubernetes، تمتلك الفِرق خدمات محددة ويمكنها العمل بشكل مستقل. ويشمل ذلك النشر وفق جداول زمنية مستقلة، واتخاذ خيارات تكنولوجية تناسب احتياجاتهم، والابتكار بالوتيرة المناسبة. 

توفِّر فِرق المنصة خدمات مشتركة مثل المراقبة والتسجيل وشبكة الخدمات التي تستخدمها جميع الفِرق، ما يحقق التناسق دون تقييد الابتكار.

التخطيط للترحيل إلى Kubernetes

تبدأ عمليات الترحيل الناجحة بتخطيط دقيق يتضمن الخطوات التالية:

  1. تقييم البيئة الحالية.
  2. تقييم مهارات الفريق واحتياجات التدريب.
  3. اختيار نهج الترحيل الخاص بك.
  4. التخطيط لاستراتيجية المجموعة الخاصة بك.

1. تقييم البيئة الحالية

البدء بفهرسة تطبيقاتك الحالية والبنية التحتية والتبعيات. تحديد التطبيقات التي تُعَد مرشحة جيدة للترحيل المبكر. عادةً ما تعمل التطبيقات دون الحالة التي تمتلك واجهات برمجة تطبيقات واضحة كنقاط انطلاق مثالية، في حين تتطلب التطبيقات ذات الحالة تخطيطًا أكبر.

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

تقييم البنية التحتية الحالية لديك لتحديد الحل الأكثر منطقية لمؤسستك: خدمة Kubernetes المُدارة من مزوِّد خدمة سحابية أو حل الاستضافة الذاتية. يجب مراعاة عوامل مثل الخبرة الداخلية، ومتطلبات الامتثال، وقيود الميزانية.

2. تقييم مهارات الفريق واحتياجات التدريب

تقييم القدرات الحالية لفريقك فيما يخص الحاويات وKubernetes والممارسات السحابية الأصلية.

وفقًا لتقرير معهد IBM Institute for Business Value لعام 2023، أفاد ما يقرب من 58% من صنّاع القرار العالميين أن مهارات الحوسبة السحابية لا تزال تشكِّل تحديًا كبيرًا.

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

3. اختيار نهج الترحيل الخاص بك

الاختيار من بين استراتيجيات الترحيل المختلفة بناءً على خصائص التطبيق وأولويات العمل. يعتمد نهج الرفع والنقل على تحويل التطبيقات الحالية إلى حاويات مع الحد الأدنى من التغييرات، ما يُتيح ترحيلًا أسرع، لكنه قد يفوِّت فرص التحسين. تستغرق عملية إعادة هيكلة التطبيقات لتصبح تطبيقات سحابية أصلية وقتًا أطول، ولكنها توفِّر أداءً أفضل وقابلية للتوسع وكفاءة في التكلفة.

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

4. التخطيط لاستراتيجية المجموعة الخاصة بك

تحديد إذا ما كان ينبغي استخدام مجموعة واحدة أو مجموعات متعددة في البيئة الجديدة. تُعَد المجموعات الفردية أسهل في الإدارة ولكنها قد لا تفي بمتطلبات العزل أو الامتثال أو التوزيع الجغرافي. توفِّر المجموعات المتعددة عزلًا أفضل ويمكن أن تحسِّن الموثوقية، ولكنها تتطلب إدارة تكوين أكثر تطورًا تستخدم أدوات مثل مخططات Helm أو Kustomize.

تنفيذ استراتيجية الترحيل إلى Kubernetes وأفضل الممارسات

بعد مرحلة التخطيط، يمكن البدء بعملية الترحيل إلى Kubernetes، مع الاسترشاد بأفضل الممارسات التالية:

  1. تهيئة التطبيقات للعمل على Kubernetes.
  2. بناء مسارات التكامل المستمر/التسليم المستمر (CI/CD) لأتمتة عمليات النشر.
  3. المراقبة والتسجيل بشكل فعَّال.
  4. تأمين مجموعات Kubernetes.

1. تهيئة التطبيقات للعمل على Kubernetes.

صور الحاويات

البدء ببناء صور الحاويات باستخدام عمليات بناء متعددة المراحل. تحافظ هذه التقنية على فصل تبعيات البناء عن ما يتم تشغيله في بيئة الإنتاج، ما يقلل من حجم الصورة ويقلل من الثغرات الأمنية.

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

استخدام تصنيفات موحَّدة وتنظيم سجل الحاويات بشكل واضح لتسهيل تتبُّع الإصدارات.

فحوصات السلامة

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

يجب أن توفِّر التطبيقات نقاط نهاية تتحقق من سلامة التطبيق عبر فحص الاتصال بقاعدة البيانات أو التبعيات الخارجية، أو الحالة الداخلية.

ربط الشبكات

على مستوى الشبكات، يجب تهيئة اكتشاف الخدمات وموازنة الأحمال باستخدام خدمات Kubernetes، بحيث تتمكن التطبيقات من العثور على التبعيات عبر أسماء الخدمات بدلًا من عناوين IP المضمَّنة مسبقًا.

بالنسبة إلى حركة المرور الخارجية، يجب تنفيذ موارد Ingress مع وحدات تحكُّم مناسبة تتولى إنهاء SSL والتوجيه.

التكوين

فصل جميع التكوينات عن كود التطبيق باستخدام ملفات YAML. يمكن استخدام ConfigMaps للإعدادات غير الحساسة وSecrets للبيانات الحساسة مثل بيانات اعتماد قاعدة البيانات ومفاتيح API، ما يمكِّن صورة الحاوية نفسها من العمل عبر بيئات التطوير والاختبار والإنتاج مع تكوينات مختلفة.

2. بناء مسارات التكامل المستمر/التسليم المستمر (CI/CD) لأتمتة عمليات النشر

إنشاء مسارات CI/CD التي تتعامل مع كل شيء بدءًا من الالتزام بالكود ووصولًا إلى النشر في الإنتاج، مع اختبارات مؤتمتة تشمل اختبارات الوحدة، واختبارات التكامل، والتحقق من النشر. يتم بناء صور الحاويات تلقائيًا ودفعها إلى السجلات مع اعتماد نظام إصدار مناسب.

3. المراقبة والتسجيل بشكل فعَّال

نشر مراقبة شاملة تغطي استخدام الموارد (وحدة المعالجة المركزية والذاكرة والتخزين)، وأداء التطبيقات، ومقاييس الأعمال، مع لوحات معلومات للتصور البصري. ويساعد التسجيل المركزي على تصحيح المشكلات عبر العديد من الحجيرات والخدمات.

4. تأمين مجموعات Kubernetes

استخدام التحكم في الوصول القائم على الأدوار (RBAC) لتحديد الصلاحيات، وسياسات الشبكة للتحكم في حركة المرور بين الحاويات، والتشفير للبيانات أثناء التخزين والنقل. يجب فحص صور الحاويات بانتظام للكشف عن الثغرات الأمنية والحفاظ على تحديث الصور الأساسية.

تحديات الترحيل إلى Kubernetes

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

تُعَد حماية البيانات أمرًا بالغ الأهمية. تشغيل الأنظمة القديمة والجديدة بشكل متوازٍ مؤقتًا، مع مزامنة البيانات بين البيئات والتحقق من الوظائف قبل الانتقال الكامل إلى Kubernetes. يساعد التشغيل المتوازي على تقليل فترات التوقف وخسارة البيانات.

أدوات وخدمات الترحيل إلى Kubernetes

يقدِّم مزوِّدو الخدمات السحابية وشركات التكنولوجيا الأخرى مجموعة من أدوات وخدمات الترحيل إلى Kubernetes، بما في ذلك ما يلي.

خدمات الترحيل والنشر

يقدِّم مزوِّدو خدمات الحوسبة السحابية خدمات مُدارة لتقييم أعباء العمل، والنقل بالحاويات، والنشر المؤتمت. على سبيل المثال، تقدِّم كلٌّ من Amazon EKS وMicrosoft Azure AKS وIBM Cloud Kubernetes Service خدمات الترحيل.

كما أن أدوات البنية التحتية ككود (IaC) مثل Terraform تساعد المطورين على أتمتة عملية توفير المجموعات وتثبيت الإضافات وإدارة التكوين.

منصات المراقبة وقابلية الملاحظة

توفِّر هذه الأدوات قدرات المراقبة وقابلية الملاحظة واستكشاف الأخطاء وإصلاحها، بما يُتيح للفِرق الحصول على رؤى واضحة حول سلوك بيئات Kubernetes وسلامتها وأدائها.

الخدمات الاستشارية

توفِّر شركات التكنولوجيا والاستشارات خبرات متخصصة في Kubernetes تُكمل أدوات الترحيل. يمكن لهذه الخدمات توجيه القرارات الاستراتيجية بدءًا من التقييم الأولي وحتى تحسين البيئات بعد الترحيل، بما يساعد المؤسسات على التعامل مع التحديات التقنية والتنظيمية المعقدة.

حلول ذات صلة
مراقبة Kubernetes - IBM Instana

ملاحظة ومراقبة وإصلاح مجموعة Kubernetes بأكملها تلقائيًا لتحسين أداء وتوفّر تطبيقك.

استكشف IBM Instana
خدمات الاستشارات السحابية 

تسريع نمو ومرونة الأعمال—حدِّث تطبيقاتك باستمرار على أي منصة باستخدام خدماتنا السحابية والاستشارات التي نقدِّمها.

استكشاف الخدمات الاستشارية ذات الصلة بتقنيات السحابة
حلول الحاويات

حلول الحاويات تقوم بتشغيل وتوسيع نطاق أحمال التشغيل التي تعمل ضمن حاويات بأمان وابتكار مفتوح المصدر ونشر سريع.

استكشف الحاويات
اتخِذ الخطوة التالية

يوفر IBM Instana Observability قابلية الملاحظة المؤتمتة لـ Kubernetes وقدرات مراقبة أداء التطبيقات (APM) المصممة لمراقبة مجموعة تطبيقات Kubernetes التي تستخدمها بالكامل - بدءًا من العقد والحجيرات وصولاً إلى الحاويات والتطبيقات لجميع توزيعات Kubernetes.

استكشف IBM Instana Observability استمتع بتجربة Instana