ما المقصود بنظام Kubernetes؟

آلان زيشيك | كاتب أول | 5 سبتمبر 2025

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

يأتي جزء من قوة Kubernetes في الأتمتة الخاصة بها—يمكنها أن تقلل بشكل كبير من حمل العمل المطلوب لإدارة التطبيقات عبر الشبكة.

ما المقصود بنظام Kubernetes؟

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

ماذا الذي تصنعه Kubernetes؟ تبدأ بنشر الحاويات التي تحتوي على تطبيق كامل أو مكون من التطبيق، وتُسمى غالبًا الخدمة. يتم نشر هذه الحاويات على الخوادم، والتي يمكن أن تكون عبر السحابة، أو محليًا، وموزَّعة عبر العديد من السحابات في تكوين السحابة المتعددة، أو في تكوين سحابي/محلي مُختلط.

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

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

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

يشرف على تطوير منصة Kubernetes مؤسسة الحوسبة السحابية الأصلية (CNCF) .

الحاويات مقابل الأجهزة الافتراضية

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

Kubernetes مقابل الحاويات

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

تُعد Kubernetes أداة لإدارة العديد من الحاويات في وقت واحد، وعبر السحابة عادةً. يُشار إلى Kubernetes أحيانًا باسم نظام تشغيل السحابة، ويتيح للمؤسسات إدارة الحاويات على نطاق واسع.

النقاط الرئيسة

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

شرح Kubernetes

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

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

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

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

لماذا نستخدم Kubernetes؟

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

مع ذلك، ودون نظام تنسيق أكثر اكتمالاً، تصبح متطلبات إدارة النظام في نهاية المطاف هائلة.

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

مزايا استخدام Kubernetes

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

  • التوافر العالي: تم تصميم Kubernetes لتحقيق التوافر العالي (HA). تمثل ميزاته التلقائية لإصلاح الحاويات المعطلة عن طريق إعادة تشغيلها إما على نفس الخادم أو على خادم مُختلف جزء واحد من معادلة التوافر العالي. لذا، تتمثل قدرة Kubernetes في إعداد العديد من النسخ من الحاوية، ووضعها على خوادم مُختلفة أو حتى في مراكز بيانات مُختلفة، ثم تقسيم حمل العمل بينها. ميزة إضافية: إذا نشرت تحديث برمجي إلى تطبيق محفوظ في حاوية، فيمكن تكوين Kubernetes لطرح الحاويات المُحدثة تدريجيًا. إذا تم اكتشاف خطأ، فيمكنه إرجاعه إلى الإصدار السابق.
  • العزل: تعمل كل حاوية داخل بيئتها المعزولة الخاصة بها، مما يوفّر مساحة آمنة ومحمية لتنفيذ التطبيق. يساعد هذا العزل، المُصمم لمنع التداخل الخارجي وتعارض الموارد في الحفاظ على استقرار التطبيق وسلامته. نظرًا إلى أن Kubernetes يتبع ملف التكوين الخاص به عند أتمتة عمليات نشر الحاويات وتوجيه حركة مرور الشبكة بينها، فيمكن أن يوفر طبقة إضافية من الحماية ضد الخطأ البشري المحتمل الذي قد يعرض وقت التشغيل إلى الخطر.
  • قابلية النقل: تتميز الحاويات بإمكانية نقل عالية بين أنواع مُختلفة من الخوادم، وحتى السحابات المُختلفة. يكون القيد الحقيقي الوحيد في أنه يجب إنشاء الحاويات لنظام تشغيل محدد. على سبيل المثال، يجب تشغيل البرنامج الموجود داخل حاوية مكتوبة لنظام Linux على خادم Linux، ويجب تشغيل البرنامج الموجود داخل حاوية مكتوبة لنظام Windows على خادم Windows. ضمن ذلك القيد الواحد، يمكن لـ Kubernetes نقل الحاويات بين الخوادم ومراكز البيانات وحتى السحابات. في الواقع، يمكن لـ Kubernetes إدارة تطبيق كبير باستخدام حاويات تمتد عبر العديد من مراكز البيانات ومزودي السحابة—مرة أخرى تلقائيًا.
  • كفاءة الموارد: لا تعرف الحاوية الكثير عن الخادم الذي تعمل عليه. لكن على النقيض من ذلك، يمكن لـ Kubernetes تحديد استخدام كل خادم من المعالجات والذاكرة والتخزين واتصالات الشبكة. يمكنها نشر الحاويات ونقلها بين الخوادم لزيادة استخدام كل خادم إلى أقصى حد، مما يساعد في تقليل التكاليف. لا يبدأ Kubernetes تشغيل أيضًا حاويات جديدة إلا عند الضرورة ويوقفها مرة أخرى عندما لا توجد حاجة إليها، مما قد يؤدي أيضًا إلى خفض التكاليف.
  • قابلية التوسُّع: فكِّر في الصرافين في متجر بقالة. إذا كانت إحدى نقاط الدفع بها قائمة انتظار طويلة جدًا، فيمكن للمدير فتح طابور آخر. بالمثل، إذا تم تحميل جزء من البرنامج في حاوية بشكل زائد، فيمكن لـ Kubernetes اكتشاف ذلك وبدء تشغيل حاوية أخرى مُتطابقة بنفس الخدمة، مع تقسيم حمل العمل بين الاثنين. في الواقع، يمكن أن يبدأ تشغيل مائة حاوية أكثر تطابقًا إذا لزم الأمر. كلها تكون تلقائيًا.

المكونات الرئيسة لبنية Kubernetes

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

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

الميزات الرئيسة لـ Kubernetes

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

  • تنسيق الحاويات: يؤتمت Kubernetes نشر الحاويات وتوسيع نطاقها وصيانتها. يدير بذكاء وضع الحاويات، ويحسِّن استخدام الموارد وموازنة الأحمال بكفاءة.
  • الإصلاح الذاتي والتوسُّع التلقائي: يمكن لـ Kubernetes اكتشاف حالات الفشل والاستجابة إليها تلقائيًا. يمكنه إعادة تشغيل الحاويات أو نسخها بشكل متماثل أو إعادة جدولتها بسرعة، مع الحفاظ على سلامة التطبيق وتوافره.
  • اكتشاف الخدمة وموازنة الأحمال: يتيح Kubernetes الاتصال بين الحاويات من خلال اكتشاف الخدمة المُضمن. كما يوفر إمكانات موازنة الحمل، وتوزيع حركة المرور الواردة عبر حاويات مُتعددة لتوفير توافر عالٍ وجعل استخدام الموارد أكثر كفاءة.
  • تنسيق التخزين: يبسِّط Kubernetes من إدارة التخزين من خلال السماح للتطبيقات بالوصول إلى أنظمة التخزين المُختلفة، محليًا وعبر السحابات العامة والخاصة.
  • عمليات الطرح والتراجع التلقائية: تؤتمت Kubernetes طرح إصدارات البرامج الجديدة، وتقدِّمها تدريجيًا إلى بيئة الإنتاج. إذا ظهرت مشكلات، فيمكنه التراجع تلقائيًا إلى الإصدار المستقر السابق، مما يقلل من انقطاع المستخدمين.
  • إدارة التكوين: يبسِّط Kubernetes إدارة التكوين، مع مركزة تكوينات التطبيق وإدارته عبر بيئات مُتعددة. كما يبسِّط هذا من التحديثات والصيانة.
  • التكوين التوضيحي والأتمتة: يستخدم Kubernetes ملف تكوين ويُطلق عليه أحيانًا ملف YAML، مما يعني "YAML ليست لغة ترميز" أو "لغة ترميز أخرى"، وفقًا إلى مَن تسأل. يصف هذا الملف، الذي يمكن فهمه لكل من Kubernetes والبشر الفعليين شكل التطبيق الكامل وطريقة إدارة حاويات التطبيق من خلال الأتمتة.
  • التخزين وإدارة البيانات: يمكن أن ينشئ Kubernetes وحدات تخزين دائمة لتوفير التخزين وإدارته داخل مجموعة، بغض النظر عن أي وحدة صغيرة أو حاوية مُحددة. كما يمكن تعيينها إلى مهام مُحددة حسب الحاجة. تسهِّل وحدات التخزين الدائمة تلبية متطلبات إدارة بيانات التطبيقات.

التحديات الشائعة لاعتماد Kubernetes

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

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

حالات استخدام Kubernetes

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

  • بنية الخدمات الصغيرة على نطاق الويب: من الشائع أن يكون لديك مئات أو آلاف الخدمات الصغيرة التي تشكِّل تطبيق ويب مُعقدًا، ومعالجة مهام مثل مصادقة المستخدم، وإدارة الجلسات، والبحث، وعربات التسوق، والمدفوعات، وإدارة المخزون، ومحركات التوصية القائمة على الذكاء الاصطناعي. تساعد Kubernetes في عزل كل نوع من الخدمات الصغيرة في وحدتها الصغيرة الخاصة ثم إدارة هذه الخدمات بشكل مستقل.
  • التوسُّع المرن لتطبيقات حركة المرور العالية: يمكن أن تساعد Kubernetes في توسيع نطاق خدمات تطبيق حركة المرور العالية من خلال تخصيص حاويات جديدة وموازنة الحمل ديناميكيًا لاستيعاب التغييرات في حمل العمل بسرعة. يمكن أن يستند Kubernetes إلى توسيعه التلقائي على استخدام الموارد، مثل عند تجاوز معالج الحاوية أو استخدام الذاكرة حدودًا معينة أو عند اقتراب الخادم من سعته. كما يمكن أن يتراجع عندما يقل الطلب. يمكن أن يحافظ هذا على أداء التطبيق ضمن المعلمات المطلوبة—وقت استجابة مُحدد، على سبيل المثال—مع تقليل استهلاك الموارد أيضًا أثناء فترات حركة المرور المنخفضة.
  • عمليات نشر أكثر أمانًا لتحديثات البرامج: تتكامل Kubernetes مع العديد من أدوات تطوير البرامج التي تستخدم نموذج التكامل المستمر/النشر المستمر (CI/CD) لتحسين البرامج المؤسسية بشكل متزايد. يمكن لـ Kubernetes نشر هذه التحديثات تدريجيًا في حاويات جديدة والتراجع بسرعة إلى إصدار سابق في حالة حدوث مشكلات. يمكنه حتى تشغيل نسختين بالتوازي والإبلاغ حول أدائهما المقارن.

Kubernetes والذكاء الاصطناعي

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

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

اعتماد منظومة Kubernetes

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

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

لن تكتمل أي مناقشة لمنظومة لـ Kubernetes دون ذكر KubeCon، وهو المؤتمر السنوي لمطوري Kubernetes ومستخدميه الذي تستضيفه مؤسسة الحوسبة السحابية الأصلية (CNCF). منذ انعقاد أول مؤتمر KubeCon عام 2015 وبحضور 500، تطور الحدث بشكل كبير. عام 2024، استقطب مؤتمر Salt Lake City أكثر من 9000 مطور ومهندس.

5 من أفضل الممارسات للنشر

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

  1. تحسين تخصيص الموارد. لا تريد الدفع مقابل المزيد من الخوادم أو موارد الحوسبة والتخزين والشبكات الأخرى أكثر مما يحتاجه تطبيقك في أي لحظة مُحددة. استفد من قدرة Kubernetes على التوسُّع التلقائي للمجموعات والوحدات الصغيرة بزيادة ونقص على أساس المقاييس الفورية والاستخدام الفعلي.
  2. تنفيذ قابلية الملاحظة والتسجيل. من الصعب فهم ما يحدث في تطبيق مؤسسي واسع النطاق بشكل كامل. تُستخدم أفضل أدوات الرؤية لتجميع السجلات، بحيث تكون جميع بيانات الأداء وتقرير الأخطاء موجودة في مكان واحد. توفر هذه الأدوات تقارير ولوحات معلومات مثقلة بالقياسات بالإضافة إلى التتبع على أساس البيانات المُجمَّعة.
  3. تنفيذ GitOps والبنية التحتية باعتبارها تعليمات برمجية. تُعد GitOps عملية توفير البنية التحتية للسحابة، يتم فيها تخزين تصميم الشبكة في ملفات التكوين المُخزَّنة في مستودع Git. يُعد Git نظام شائع لإدارة تهيئة البرامج مفتوحة المصدر. تسمى ملفات التكوين البنية التحتية بصفتها تعليمات برمجية، أو IaC، وتستخدمها Kubernetes لإنشاء شبكة من الخوادم والتخزين وموارد الاتصال.
  4. تحسين الأمان والتوافق. استخدم التحكم في الوصول القائم على الأدوار، أو RBAC، ومنهجيات حوسبة الثقة الصفرية لإعداد شبكة "الأقل امتيازًا بشكل افتراضي" المقاومة للهجوم، حتى من خلال البرامج الاحتيالية أو التالفة التي تعمل داخل حاوية. استشر القسم القانوني لمعرفة سجلات التدقيق وملفات التهيئة التي يجب الاحتفاظ بها للتوافق.
  5. تبسيط عمليات نشر السحابة المتعددة. تتيح لك Kubernetes أتمتة نشر التطبيقات واسعة النطاق وتنسيقها عبر العديد من مراكز البيانات وأكثر من سحابة واحدة. إن هذا النشر مُعقدًا بطبيعته لتصميمه وإدارته واستكشاف أخطائه وإصلاحها. يمكنك تبسيط عمليات النشر هذه كلما أمكن ذلك باستخدام أنظمة التجريد وإدارة الهوية المركزية والتخزين المحايد سحابيًا. يمكنك استخدام GitOps وIaC لتوفير شبكات مُتطابقة في مراكز بيانات مُتعددة وفي سحابات مختلفة.

تبسيط إدارة Kubernetes باستخدام أنظمة Oracle

تُعد OCI Kubernetes Engine (OKE) خدمة لتنسيق الحاويات تديرها Oracle والتي يمكن أن تقلل من الوقت والتكلفة اللازمة لإنشاء تطبيقات السحابة الأصلية. تساعد OKE في تبسيط عمليات Kubernetes على مستوى المؤسسة على نطاق واسع، مما يتيح لك نشر أحمال العمل كثيفة الموارد وإدارتها بسهولة، مثل الذكاء الاصطناعي، مع التوسُّع التلقائي والتصحيح والترقيات. يوفر OKE ما يلي:

  • التوسُّع التلقائي: تعدِّل OKE تلقائيًا موارد الحوسبة استنادًا إلى حمل التطبيق، مما قد يقلل من التكاليف.
  • الكفاءة: يمكن أن تكون المعالجات—بما في ذلك النماذج الأكثر تقدُّمًا المستخدمة لأحمال عمل الذكاء الاصطناعي—نادرة، لكن يمكن أن تساعدك جدولة وظائف OKE في زيادة استخدام الموارد إلى أقصى حد.
  • قابلية النقل: تتسق OKE عبر السحابات والبرامج المحلية في مركز البيانات الخاص بك، مما يتيح قابلية النقل وتجنب قيد المورِّدين.
  • البساطة: يمكن أن تقلل OKE الوقت والنفقات اللازمة لإدارة تعقيدات البنية التحتية لـ Kubernetes.
  • الموثوقية: يمكن للترقيات التلقائية وتصحيح الأمان تعزيز الموثوقية لتطبيق مؤسستك.

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

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

الأسئلة الشائعة حول Kubernetes

لماذا يُعد Kubernetes مكونًا بالغ الأهمية في إستراتيجية السحابة المؤسسية؟

تعد Kubernetes أمرًا بالغ الأهمية لأنها طريقة نشر المؤسسات لتطبيقاتها الموزَّعة وتوسيع نطاقها وإدارتها، خاصةً تلك التي تعمل عبر السحابة. تُحسِّن أتمتة Kubernetes من موثوقية التطبيق مع تعزيز استخدام الموارد، وبالتالي؛ تقليل التكاليف.

ما العوامل الرئيسة التي يجب على المؤسسات مراعاتها عند اعتماد Kubernetes على نطاق واسع؟

يوجد عاملين رئيسين يجب مراعاتهما. يكون الأول في الاستعداد التنظيمي: هل مهندسونك ومطوروك مستعدون لهذا النموذج من تطوير التطبيقات ونشرها؟ بينما الآخر فني: هل لديك النهج البنيوي الصحيح لتصميم Kubernetes ونشره والحاويات بطريقة آمنة ومستقرة ومُتوافقة مع متطلبات الحوكمة؟

ما اعتبارات التكلفة الرئيسة للمؤسسات التي تعمل على Kubernetes على نطاق واسع؟

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

كيف يمكن للمؤسسات ضمان الانتقال السلس إلى Kubernetes من البنية التحتية التقليدية؟

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