ما هو Knative؟

ما هو Knative؟

يتيح Knative تشغيل أحمال التشغيل بدون خادم على مجموعات Kubernetes. إنه يجعل بناء الحاويات وتنسيقها باستخدام Kubernetes أسرع وأسهل.

Knative (تُنطق Kay-NAY-tive) هو امتداد لمنصة تنسيق حاويات Kubernetes. إنه يوفر أدوات ومرافق تجعل بناء التطبيقات المعبأة في حاويات ونشرها وإدارتها داخل Kubernetes تجربة أبسط وأكثر "أصالة في Kubernetes" (ومن هنا جاء الاسم، "K" لـ "Kubernetes" + "native").

مثل Kubernetes، Knative هو برنامج مفتوح المصدر. طوّرته جوجل في البداية بالتعاون مع IBM® و Pivotal و Red Hat® و SAP ونحو 50 شركة أخرى. اليوم، تستضيف Cloud Native Computing (CNCF) مشروع Knative مفتوح المصدر.

منظر جوي للطرق السريعة

كن مطلعًا على آخر أخبار السحابة


احصل على نشرة Think الإخبارية الأسبوعية للحصول على إرشادات الخبراء حول تحسين الإعدادات متعددة السحابة في عصر الذكاء الاصطناعي.

لماذا تحتاج Kubernetes إلى Knative

تقوم Kubernetes بأتمتة وجدولة نشر وإدارة وتوسيع نطاق الحاويات—وهي مكونات تطبيقات خفيفة وقابلة للتنفيذ تجمع بين التعليمات البرمجية المصدر وجميع مكتبات نظام التشغيل (OS) والتبعيات المطلوبة لتشغيل التعليمات البرمجية في أي بيئة.

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

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

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

أكاديمية الذكاء الاصطناعي

تحقيق جاهزية الذكاء الاصطناعي باستخدام التنقية السحابية الهجينة

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

جعل الحاويات بدون خادم

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

  • يوفر موارد حوسبة عند الطلب، تتوسع بشفافية بناءً على الطلبات وتتقلص إلى الصفر عندما لا تعود هناك طلبات؛

  • يلقي جميع مهام إدارة البنية التحتية—مثل التوسع، والجدولة، والتصحيح، والتزويد، وغير ذلك—على عاتق موفر الخدمة السحابية، مما يتيح للمطورين تركيز وقتهم وجهودهم على التطوير والابتكار؛ و

  • يمكّن عملاء السحابة من الدفع مقابل الموارد المستخدمة فقط. إنهم لا يدفعون أبدًا مقابل السعة الخاملة.

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

كيف يعمل Knative: عناصر Knative

Knative مبني على Kubernetes ويضيف ثلاثة مكونات رئيسية أو أساسيات: الإنشاء (Build) والخدمة (Serving) والأحداث (Eventing).

الإنشاء (Build)

يقوم عنصر Knative Build بأتمتة عملية تحويل مصدر الرمز إلى حاوية. تتضمن هذه العملية عادةً خطوات متعددة، بما في ذلك:

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

يستخدم Knative واجهات برمجة تطبيقات Kubernetes وأدوات أخرى لعملية الإنشاء الخاصة به. يمكن للمطوّر إنشاء بيان واحد (عادةً ما يكون ملف YAML) يحدد جميع المتغيرات —موقع مصدر الرمز والتبعيات المطلوبة وغير ذلك—ويستخدم Knative البيان لأتمتة بناء الحاوية.

الخدمة (Serving)

يقوم عنصر الخدمة (Serving) بنشر الحاويات وتشغيلها كخدمات Knative قابلة للتوسع. توفر الخدمة (Serving) القدرات الأساسية التالية:

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

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

  • التوسع التلقائي. يمكن لـ Knative توسيع نطاق الخدمات إلى آلاف المثيلات؛ ويمكنه أيضًا تصغيرها إلى الصفر—أي عدم وجود مثيلات للحاوية على الإطلاق—وهو أمر حساس لدعم التطبيقات التي تعمل بدون خادم.

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

الأحداث (Eventing)

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

تسهل مصادر أحداث Knative على المطورين إنشاء اتصالات بمنتجي الأحداث الخارجيين. يقوم Knative eventing تلقائيا بإنشاء الاتصال بمنتج الحدث وتوجيه الأحداث التي تم إنشاؤها. ليست هناك حاجة لمعرفة كيفية القيام بذلك برمجيًا—يقوم Knative بكل العمل.

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

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

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

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

دعم دورات حياة الأسلوب الرشيق وعمليات التطوير. من خلال تمكين المطورين من إنشاء حاويات وإصدارات حاويات جديدة بسرعة أكبر، يسهّل Knative نشر التطبيقات الموضوعة في حاويات بخطوات صغيرة وسريعة ومتكررة كجزء من سير عمل الأسلوب الرشيق أو عمليات التطوير. تتكامل خدمات Knative بسهولة في مسارات CI / CD المؤتمتة دون الحاجة إلى برامج خاصة أو برمجة مخصصة.

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

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

حلول ذات صلة
IBM Red Hat OpenShift

Red Hat OpenShift on IBM Cloud هي منصة حاويات OpenShift (OCP) المُدارة بالكامل.

استكشف Red Hat OpenShift
حلول الحاويات

تنفذ حلول الحاويات أعباء عمل الحاويات وتوسع نطاقها مع ميزات الأمان والابتكار مفتوحة المصدر والنشر السريع.

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

أطلق العنان للقدرات الجديدة وحفِّز مرونة الأعمال من خلال خدمات الاستشارات السحابية من IBM. اكتشف كيفية المشاركة في إنشاء الحلول وتسريع التحول الرقمي وتحسين الأداء من خلال إستراتيجيات السحابة الهجينة والشراكات مع الخبراء.

الخدمات السحابية
اتخِذ الخطوة التالية

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

استكشف حلول الحاويات إنشاء حسابك المجاني على IBM Cloud