أفضل 6 حالات استخدام لـ Kubernetes

رجل أعمال يستخدم الكمبيوتر المحمول في المكتب

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

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

تشكل الحاويات- وحدات خفيفة من البرامج التي تحزم رموز التعليمات البرمجية وجميع تبعياتها للتشغيل في أي بيئة—وهي أساس منصة Kubernetes، كما تعد مهمة حساسة للخدمات المصغرة الحديثة وبرامج السحابية الأصلية وسير عمليات التطوير.

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

بشكل عام ، تعمل منصة تنسيق Kubernetes عبر حاويات تحتوي على حجيرات (الرابط موجود خارج ibm.com) وعُقد. تقوم الحجيرة بتشغيل حاوية واحدة أو أكثر من حاويات Linux ويمكن تشغيلها في عدة حاويات للتوسع ومقاومة الأعطال. تقوم العُقد بتشغيل الحجيرات وعادةً ما يتم تجميعها في مجموعة Kubernetes، ما يؤدي إلى تجريد موارد الأجهزة المادية الأساسية. 

ساعدت البنية التحتية التصريحية لمنصة Kubernetes القائمة على واجهة برمجة التطبيقاتفي تحرير فرق عمليات التطوير والفرق الأخرى من العمليات التي يتم تشغيلها يدويًا حتى يتمكنوا من العمل بشكل أكثر استقلالية وكفاءة لتحقيق أهدافهم. في عام 2015، تبرعت Google بـ Kubernetes بوصفها تقنية أساسية لمؤسسة الحوسبة السحابية الأصلية (CNCF) (يوجد الرابط خارج موقع ibm.com)، وهي مركز مفتوح المصدر ومحايد للبائعين ومختصة بالحوسبة السحابية الأصلية.

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

وباعتباره نظامًا مفتوح المصدر، فإن خدمات Kubernetes Service مدعومة من قبل جميع مزودي الخدمات السحابية العامة الرائدين، بما في ذلك IBM وMicrosoft Azure وAmazon Web Services (AWS) وGoogle. يمكن أيضًا تشغيل Kubernetes على الخوادم المعدنية المجردة والأجهزة الافتراضية (VM) في السحابة الخاصة والسحابة الهجينة وإعدادات الحافة، بشرط أن يكون نظام التشغيل المضيف هو إصدار من Linux أو Windows.

أفضل ستة حالات استخدام لـ Kubernetes

إليك ملخصًا لأفضل ست حالات استخدام لـ Kubernetes تكشف عن كيفية تحويل Kubernetes للبنية التحتية لتقنية المعلومات.

1. نشر التطبيق على نطاق واسع

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

يستخدم Kubernetes التحجيم التلقائي الأفقي للحجيرة (HPA) (يوجد الرابط خارج ibm.com) لتنفيذ موازنة التحميل (بالنسبة لاستخدام وحدة المعالجة المركزية أو المقاييس المخصصة) عن طريق زيادة عدد الحجيرات (الاستنساخ الذي يسهل الشفاء الذاتي) المرتبطة بعملية نشر معينة. هذا يخفف من المشكلات المحتملة مثل زيادة حركة البيانات أو مشاكل الأجهزة أو اضطرابات الشبكة.

ملاحظة: لا ينبغي الخلط بين HPA والتحجيم التلقائي للحجيرات الرأسية (VPA) لـ Kubernetes، والذي يُخصص موارد إضافية، مثل الذاكرة أو وحدة المعالجة المركزية، إلى الحجيرات التي تعمل بالفعل من أجل أحمال التشغيل.

2. الحوسبة عالية الأداء

تعتمد الصناعات بما في ذلك الحكومة والعلوم والتمويل والهندسة بشكل كبير على الحوسبة عالية الأداء (HPC)، وهي التكنولوجيا التي تعالج البيانات الكبيرة لإجراء حسابات معقدة. تُستخدم الحوسبة عالية الأداء معالجات قوية بسرعات عالية للغاية لاتخاذ قرارات فورية قائمة على البيانات. تشمل الاستخدامات الواقعية للحوسبة عالية الأداء أتمتة تداول الأسهم والتنبؤ بالطقس وتسلسل الحمض النووي ومحاكاة رحلات الطائرات.

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

3. الذكاء الاصطناعي والتعلم الآلي

يتطلب بناء أنظمة الذكاء الاصطناعي (AI) والتعلم الآلي (ML) ونشرها كميات هائلة من البيانات والعمليات المعقدة مثل الحوسبة عالية الأداء وتحليل البيانات الكبيرة. ويسهل نشر التعلم الآلي على Kubernetes على المنظمات أتمتة إدارة دورات حياة التعلم الآلي وتوسيع نطاقها ويقلل من الحاجة إلى التدخل اليدوي.

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

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

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

4. إدارة الخدمات المصغرة

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

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

5. عمليات نشر سحابية متعددة وهجينة

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

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

6. عمليات التطوير للمؤسسات

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

أصبح CI/CD-الذي يرمز إلى التكامل المستمر (CI) والتسليم المستمر (CD)-جانبًا رئيسيًا في تطوير البرمجيات. في عمليات التطوير، يعمل CI/CD على تبسيط ترميز التطبيقات، والاختبار، والنشر من خلال إعطاء الفرق مستودعًا واحدًا لتخزين العمل وأدوات الأتمتة لدمج التعليمات البرمجية واختبارها باستمرار لضمان عملها. وتؤدي Kubernetes دورًا مهمًا في مسارات CI/CD السحابية الأصلية من خلال أتمتة نشر الحاويات عبر بيئات البنية التحتية السحابية وضمان الاستخدام الفعال للموارد.

مستقبل Kubernetes

تؤدي Kubernetes دورًا مهمًا في البنية التحتية لتقنية المعلومات، كما يتضح من العديد من حالات الاستخدام القائمة على القيمة والتي تتجاوز تنسيق الحاوية. ولهذا السبب تستمر كثير من الشركات في تنفيذ Kubernetes. في استطلاع عن السحابة الأصلية أجرته مؤسسة الحوسبة السحابية الأصلية (CNCF) عام 2021 (يوجد الرابط خارج موقع ibm.com)، تبين أن استخدام Kubernetes وصل إلى أعلى نقطة له على الإطلاق، حيث تستخدم 96% من المنظمات منصة النقل بالحاويات أو تُقيمها. ووفقًا للدراسة نفسها، يستمر استخدام Kubernetes في الارتفاع في مناطق التقنية الناشئة، مثل أفريقيا، حيث يستخدم 73٪ من المشاركين في الاستطلاع Kubernetes في الإنتاج.

IBM وKubernetes

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

نشر مجموعات آمنة ومتوفرة بشكل كبير في تجربة Kubernetes أصلية مع خدمة IBM Cloud Kubernetes Service.

تحويل مجموعات Kubernetes إلى الحاويات ونشرها في منصات النقل بالحاويات باستخدام Red Hat OpenShift على IBM Cloud.

مؤلف

Stephanie Susnjara

Staff Writer

IBM Think