ما هو Kubernetes؟

بواسطة IBM Services

تنسيق التطبيقات الموضوعة في حاويات ونشرها في أي بيئة

تعد Kubernetes حلاً مفتوح المصدر يعمل على التشغيل الآلي لنشر التطبيقات الموضوعة في حاويات وتوسيع نطاقها ومراقبتها.

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

معظم الحاويات يتم تشغيلها اليوم على منصة Kubernetes. ووفقا للمؤسسة: "يقوم Kubernetes باتاحة بيئة ادارة تتمحور-حول-الحاوية. وهي تعمل على تنسيق البنية الأساسية للحوسبة والشبكات والتخزين بالنيابة عن أعباء عمل المستخدمين…ويتيح امكانية النقل عبر موفري البنية الأساسية." ‏⁽¹⁾

أساسيات Kubernetes

بدأت Kubernetes بداياتها في Google، حيث طور فريق من المهندسين نظامًا لادارة أنظمة المجموعة باسم Borg. وفي عام 2014، قدمت الشركة نسخة مفتوحة المصدر من Borg تسمى Kubernetes. ‏⁽²⁾

تم اصدار النسخة الأولى من Kubernetes في عام 2015 لتوفير تنسيق الحاوية للتطبيقات الموزعة. الى جانب الاصدار، عقدت Google شراكة مع Linux Foundation لتشكيل Cloud Native Computing Foundation وعرضت Kubernetes كتقنية أساسية. ‏⁽³⁾

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

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

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

بعض المفاهيم الأساسية:

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

Kubernetes مقابل Docker: انه ليس بسؤال اما/أو

لماذا يعد Kubernetes مهما

تطبيقات المؤسسات الكبيرة يمكن أن تتضمن عدد هائل من الحاويات. هذا النوع من البنى الأساسية يمكن أن يصبح معقدا بسرعة.

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

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

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

في مدونة IBM blog، يوضح مات جونسن بعض المزايا:

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

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

"اذا كنت تستفيد بالفعل من مزايا Docker والحاويات مع تطبيقاتك، فان نقلها الى Kubernetes يمكن أن يساعدك حقًا في معالجة بعض العمليات العامة التي سيشغلها كل تطبيق تقريبًا عند الانتقال الى النطاق الكبير،" طبقا لتصريح، ساي فينام، IBM Developer Advocate.

Kubernetes كخدمة

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

يستفيد العملاء من نفس الامكانيات، ولكن بدرجة أقل من التعقيد والنفقات العامة. وفقًا لما ذكره جيسون ماكجي، نائب الرئيس وحائز على لقب IBM Fellow، في IBM Cloud:

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

"ومن الصعب مواكبة ذلك اذا كنت تقوم بذلك بنفسك. واحدى مزايا الخدمة المدارة هي أن كل هذا يتم من أجلك، ويمكنك فقط التركيز على التطبيقات الخاصة بك."⁽⁴⁾

وتقوم جهة تقديم الخدمة المدارة مثل IBM بمعالجة موارد الشبكة والحساب والتخزين في كل أنظمة المجموعة للوحدات. توفر خدمة IBM جدولة ذكية وادارة مبسطة لنظام المجموعة وسياسات أمان الحاويات والعزل وترقية البنية الأساسية.

كما يمكن لعملاء IBM استخدام خدمة Kubernetes في البنية الأساسية السحابية المخصصة. يؤدي ذلك الى زيادة سرعة التطبيقات التي تتطلب أداءا حوسبيا عاليٍا جدًا مثل التعلّم الآلي أو أعباء العمل للذكاء الاصطناعي.

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

تقوم شركة Weather Company بتوسيع نطاق خدمات الانترنت للمساعدة في الحفاظ على أمان الأشخاص

 

مصادر Kubernetes

ما هي الحاويات ولماذا تحتاجها؟

تعرف على ماهية الحاويات ولماذا تقوم المؤسسات باستخدامها

اعتماد Kubertenes وأهمية ادارة أداء التطبيقات

تعرف على سبب أن البيئة السحابية القائمة على نظام Kubernetes يمكن أن تحدث تحولا في الكثير من الأعمال

Kubernetes مقابل Docker: لماذا ليس كلاهما؟

التعرف على الاختلافات بين Kubernetes و Docker

تقدم IBM سهولة الحاويات لأعباء العمل المعقدة باستخدام أنظمة Kubernetes المدارة على وحدات الخدمة المخصصة

تعرف على مزايا تشغيل حاويات Kubernetes كأحد الخدمات المدارة على البنية الأساسية السحابية المخصصة

التعلم من Watson: كيف تقوم الحاويات بتوسيع نطاق أعباء العمل للذكاء الاصطناعي

اكتشف لماذا تعد أعباء العمل للذكاء الاصطناعي مختلفة وأفضل في الأوساط السحابية

مراقبة IBM Cloud Service باستخدام Outlyer

التعرف على مزايا استخدام مراقبة Outlyer ذاتية الخدمة في IBM Cloud Kubertenes Service

خدمة مميزة

IBM Kubernetes Cloud Service

 

1. ‏‎https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/‎‏

2. ‏‎https://blog.risingstack.com/the-history-of-kubernetes/‎‏

4. https://en.wikipedia.org/wiki/Kubernetes

4. ‏‎https://softwareengineeringdaily.com/2017/11/29/how-ibm-runs-its-cloud-with-jason-mcgee/‎‏