يتيح 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 مفتوح المصدر.
تقوم Kubernetes بأتمتة وجدولة نشر وإدارة وتوسيع نطاق الحاويات—وهي مكونات تطبيقات خفيفة وقابلة للتنفيذ تجمع بين التعليمات البرمجية المصدر وجميع مكتبات نظام التشغيل (OS) والتبعيات المطلوبة لتشغيل التعليمات البرمجية في أي بيئة.
تسمح الحاويات لمكونات التطبيق بمشاركة موارد مثيل واحدة من نظام التشغيل، بنفس الطريقة التي تسمح بها الأجهزة الافتراضية (VMs) للتطبيقات بمشاركة موارد جهاز كمبيوتر مادي واحد. أصبحت الحاويات، الأصغر حجمًا والأكثر كفاءة في استخدام الموارد من الأجهزة الافتراضية والأكثر ملاءمة لدورات الإصدار التدريجي لمنهجيات تطوير الأسلوب الرشيق وعمليات التطوير ، بمثابة وحدات الحوسبة الفعلية لتطبيقات السحابة الأصلية الحديثة. تبلغ الشركات التي تستخدم الحاويات عن مزايا أخرى، بما في ذلك جودة التطبيقات المحسنة، ومستويات الابتكار الأعلى، والمزيد:
مع تزايد شعبية تطوير السحابة الأصلية وانتشار الحاويات في المؤسسات، فإن إمكانيات تنسيق الحاويات لدى Kubernetes، والتي تشمل الجدولة وموازنة التحميل ومراقبة لسلامة والمزيد، تجعل هذا الانتشار أسهل بكثير في الإدارة. لكن، Kubernetes أداة معقدة تتطلب من المطورين أداء أو جدولة العديد من المهام المتكررة، مثل سحب مصدر التعليمات البرمجية للتطبيق من المستودعات، وبناء وتوفير صورة حاوية حول التعليمات البرمجية، وتهيئة اتصالات الشبكة خارج Kubernetes باستخدام أدوات مختلفة. دمج الحاويات التي تديرها Kubernetes في مسار تلقائي للتكامل المستمر والتسليم المستمر (CI/CD) يتطلب أدوات خاصة وتعلينمات برمجية مخصصة.
يقضي Knative على هذا التعقيد باستخدام أدوات تعمل على أتمتة هذه المهام من داخل Kubernetes. يمكن للمطوّر تحديد محتويات الحاوية وتكوينها في ملف بيان YAML واحد، ويقوم Knative بالباقي، حيث يقوم بإنشاء الحاوية وتنفيذ برمجة الشبكة لإعداد مسار، ومدخل، وموازنة التحميل والمزيد. يوفر Knative أيضًا واجهة سطر أوامر، وهي Knative CLI التي تسمح للمطورين بالوصول إلى ميزات Knative دون تحرير ملفات YAML.
الحوسبة بدون خادم هي نموذج تنفيذ السحابة الأصلية يجعل التطبيقات أسهل في التطوير وأكثر فعالية من حيث التكلفة. نموذج الحوسبة بدون خادم
Kubernetes وحدها لا تستطيع تشغيل تطبيقات "بدون خادم" دون برامج متخصصة تدمج Kubernetes مع منصة "بدون خادم" خاصة بمزود سحابي معين. يُمكّن Knative أي حاوية من العمل كأحمال التشغيل "بدون خادم" على أي مجموعة Kubernetes، سواء كانت الحاوية مبنية حول وظيفة "بدون خادم" أو غيرها من أكواد التطبيقات (على سبيل المثال، الخدمات المصغرة)، وذلك عن طريق تجريد الكود والتعامل مع توجيه الشبكة ومشغلات الأحداث والتوسع التلقائي.
Knative مبني على Kubernetes ويضيف ثلاثة مكونات رئيسية أو أساسيات: الإنشاء (Build) والخدمة (Serving) والأحداث (Eventing).
يقوم عنصر Knative Build بأتمتة عملية تحويل مصدر الرمز إلى حاوية. تتضمن هذه العملية عادةً خطوات متعددة، بما في ذلك:
يستخدم Knative واجهات برمجة تطبيقات Kubernetes وأدوات أخرى لعملية الإنشاء الخاصة به. يمكن للمطوّر إنشاء بيان واحد (عادةً ما يكون ملف YAML) يحدد جميع المتغيرات —موقع مصدر الرمز والتبعيات المطلوبة وغير ذلك—ويستخدم Knative البيان لأتمتة بناء الحاوية.
يقوم عنصر الخدمة (Serving) بنشر الحاويات وتشغيلها كخدمات Knative قابلة للتوسع. توفر الخدمة (Serving) القدرات الأساسية التالية:
تستعير Knative Serving إمكانية توجيه الخدمة الذكي من Istio، وهو تطبيق آخر في نظام Kubernetes البنائي. Istio هو شبكة خدمات مفتوحة المصدر لـ Kubernetes، وتوفر أيضًا مصادقة لطلبات الخدمة، وتشفيرًا تلقائيًا لحركة المرور من أجل الاتصال الآمن بين الخدمات، ومقاييس مفصلة حول عمليات الخدمات المصغرة ووظائف بلا خادم، وأدوات أخرى للمطورين والمسؤولين لتحسين البنية التحتية.
يتيح مكون Eventing في Knative أحداثًا مختلفة لتشغيل الخدمات والوظائف المستندة إلى حاوية. Knative يتولى قائمة الانتظار ويسلم تلك الأحداث إلى الحاويات المناسبة، لذلك لا حاجة لكتابة نصوص برمجية أو تطبيق برمجيات وسيطة لهذه الوظيفة. Knative يتعامل أيضًا مع القنوات، وهي قوائك انتظار من الأحداث يمكن للمطورين الاختيار من بينها، ومع الناقل، وهي منصة رسائل تقوم بتوصيل الأحداث إلى الحاويات. كما أنه يمكّن المطورين من إعداد موجزات تربط حدثًا ما بإجراء ما لتقوم حاوياتهم بتنفيذه.
تسهل مصادر أحداث Knative على المطورين إنشاء اتصالات بمنتجي الأحداث الخارجيين. يقوم Knative eventing تلقائيا بإنشاء الاتصال بمنتج الحدث وتوجيه الأحداث التي تم إنشاؤها. ليست هناك حاجة لمعرفة كيفية القيام بذلك برمجيًا—يقوم Knative بكل العمل.
للتلخيص، Knative يدعم العديد من حالات الاستخدام لمستخدمي Kubernetes الذين يرغبون في تبسيط تطوير التطبيقات المعبأة في حاويات أو الارتقاء باستخدامهم للحاويات إلى المستوى التالي.
تبسيط Kubernetes. من خلال التخلص من مهام الإنشاء والتكوين المتكررة، يجعل Knative المطورين الذين يعملون مع Kubernetes أكثر إنتاجية. أي فريق تطوير يواجه صعوبة في إدارة عدد متزايد من مجموعات Kubernetes هو مرشح مثالي لـ Knative.
تسريع الرحلة إلى الحوسبة بدون خادم. قد يكون من الصعب إعداد البيئات بدون خادم وإدارتها يدوياً. يمكّن Knative المؤسسات من إعداد أحمال التشغيل بدون خادم بسرعة. بالنسبة للمطورين، هم يبنون حاوية فقط—Knative هو الذي يقوم بتشغيلها كوظيفة بلا خادم في الكواليس.
دعم دورات حياة الأسلوب الرشيق وعمليات التطوير. من خلال تمكين المطورين من إنشاء حاويات وإصدارات حاويات جديدة بسرعة أكبر، يسهّل Knative نشر التطبيقات الموضوعة في حاويات بخطوات صغيرة وسريعة ومتكررة كجزء من سير عمل الأسلوب الرشيق أو عمليات التطوير. تتكامل خدمات Knative بسهولة في مسارات CI / CD المؤتمتة دون الحاجة إلى برامج خاصة أو برمجة مخصصة.
تسهيل عمليات طرح الميزات الجديدة. يمكن أن يؤدي طرح إصدارات جديدة للعملاء إلى كشف مشكلات البرامج التي قد تؤثر على العمليات التجارية. يتيح تكوين Knative وتوجيهه للمطورين عرض مراجعات الحاويات الجديدة لمجموعة فرعية من قاعدة المستخدمين. بعد ذلك ، يزيد هذا الجمهور تدريجيًا بمرور الوقت أثناء استكشاف المشكلات وإصلاحها أو العودة بسرعة إلى الإصدارات القديمة إذا لزم الأمر.
الحفاظ على تركيز المطورين على البرمجة والابتكار. عمليات التطوير قد تمكن المطورين من إدارة بيئاتهم الخاصة. ولكن في نهاية المطاف، يرغب المطورون في التركيز على بناء برمجيات خالية من الأخطاء وميزات جديدة مبتكرة، وليس على تكوين قوائم انتظار ناقل الرسائل لتشغيل الأحداث أو إدارة قابلية توسع الحاوية. يتيح Knative للمطورين قضاء المزيد من الوقت في القيام بما يجيدونه.
Red Hat OpenShift on IBM Cloud هي منصة حاويات OpenShift (OCP) المُدارة بالكامل.
تنفذ حلول الحاويات أعباء عمل الحاويات وتوسع نطاقها مع ميزات الأمان والابتكار مفتوحة المصدر والنشر السريع.
أطلق العنان للقدرات الجديدة وحفِّز مرونة الأعمال من خلال خدمات الاستشارات السحابية من IBM. اكتشف كيفية المشاركة في إنشاء الحلول وتسريع التحول الرقمي وتحسين الأداء من خلال إستراتيجيات السحابة الهجينة والشراكات مع الخبراء.