هندسة Kubernetes: كل ما تحتاج إلى معرفته في عام 2022

نشرت: 2021-01-05

جدول المحتويات

حول Kubernetes

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

إنه بمثابة نظام أساسي لتشغيل تطبيق مشابه للتطبيقات الأخرى التي تعمل على Windows أو MacOS أو Linux بمرونة أكبر. إنه يقلل من عبء التنظيم ويسمح للمطورين بالتركيز بشكل كامل على تدفقات العمل المتمحورة حول الحاوية لغرض عملية الخدمة الذاتية. يتمتع المطورون بميزة التشغيل الآلي عالي المستوى في النشر وإدارة التطبيقات. يمكن أن تتكامل مع أي بيئة لتعزيز القدرات.

قراءة: راتب Kubernetes في الهند

العمارة Kubernetes

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

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

تم توضيح بنية Kubernetes ومكونات Kubernetes في الصورة أدناه.

مصدر

دعنا نلقي نظرة على مكونات Kubernetes .

مكونات Kubernetes

المستوى الرئيسي: طائرة التحكم Kubernetes

يحتفظ السيد ببيانات كل كائن في Kubernetes. نظرًا لأنه يدير الكتلة بأكملها ، يُطلق عليه اسم Master. يتحكم في حالات الكائن ، ويحافظ على مطابقة الحالة الحقيقية للنظام مع الحالة المطلوبة ، ويستجيب للتغييرات ، وما إلى ذلك.

يحتوي على المكونات الثلاثة الهامة التالية:

  • Kube- خادم API: خادم Kubernetes API
  • Kube- جدولة: جدولة Pod في العقد العاملة
  • Kube- Controller: يدير النسخ المتماثل للقرص

إذا كانت هناك عدة عقد رئيسية ، فسيتم نسخ هذه المكونات عبر جميع العقد الرئيسية.

يتم إجراء تنسيق دورة الحياة للعديد من التطبيقات التي تتضمن التحديثات والتوسيع وما إلى ذلك بواسطة خادم API. يعمل كبوابة للعملاء غير الموجودين داخل الكتلة. يقوم خادم API بالمصادقة. كما أنها تعمل كوسيط للقرون والعقد.

يقوم جهاز التحكم بالمهام التالية:

  • تشغيل حلقات التحكم الأساسية
  • إجراء تغييرات لحالة القيادة نحو الحالة المطلوبة.
  • مشاهدة حالة الكتلة

كما يوفر التوجيه وخدمات التخزين وموازنة الحمل وخدمات شبكة DNS ومثيلات الأجهزة الافتراضية من خلال الدمج في السحابة العامة. وحدات التحكم المختلفة التي تقود حالة القياس التلقائي والعقد والخدمات والقرون ومساحات الأسماء.

يتم جدولة الحاوية في جميع أنحاء العقد بواسطة المجدول داخل الكتلة ؛ النظر في قيود / ضمانات الموارد المختلفة ، أو مواصفات مكافحة التقارب / التقارب.

يتم عرض تصنيف Kubernetes Control Plane أدناه:

مصدر

العقد العنقودية: Kubelets

كوبيليتس هي آلات مختلفة مسؤولة عن تشغيل الحاويات. يقوم السيد بإدارة العقد العنقودية. يطلق عليه أيضًا اسم Minion. تعتبر عُقد الكتلة بمثابة وحدة التحكم الأساسية في Kubernetes. إنه يقود Docker ، طبقة التنفيذ للحاويات.

يحتوي على المكونات التالية:

  • القرنة: مجموعة الحاويات
  • Docker: تقنية قائمة على الحاوية ، مساحة مستخدم لنظام التشغيل
  • Kubelet: وكلاء الحاويات المسؤولون عن الحفاظ على مجموعة القرون.
  • وكيل Kube: يوجه حركة المرور القادمة إلى عقدة من الخدمة.

فيما يلي تصنيف Kubernetes Cluster Node:

مصدر

البودات والخدمات

البودات هي مفهوم مهم في Kubernetes يتفاعل معها المطورون. إنه يمثل عملية التشغيل. يمكنه استضافة حزم التطبيقات المتكاملة رأسياً مثل تطبيقات WordPress LAMP. فيما يلي أنواع مختلفة من البودات:

نوع الجراب وظائف
مجموعة النسخ المتماثلة نوع جراب بسيط

يضمن تشغيل القرون الثابتة

تعيين طريقة تعريفية لإدارة الجراب عبر ReplicaSet

يتم تضمين تحديثات المتداول وآليات التراجع.

جليل يدير البودات التي يجب أن تستمر
ديمونسيت يضمن أن كل عقدة تقوم بتشغيل مثيل pod.

يدير خدمات المجموعة مثل إعادة توجيه السجلات ومراقبة الصحة.

كرونوب و جوب يدير وظائف قصيرة العمر كمجدول

يمكن أن يتكون الكبسولة من عدد من الحاويات ووحدات تخزين خارجية. يظهر تصنيف البود في الرسم البياني أدناه:

مصدر

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

نوع الخدمة وظائف
ClusterIP النوع الافتراضي يعرض الخدمة على عنوان IP داخلي ويجعل الخدمة قابلة للوصول
NodePort يسمح للمطورين بإعداد موازين التحميل الخاصة بهم
LoadBalancer بأتمتة تكوينها
الاسم الخارجي يشيع استخدامها لإنشاء خدمة داخل Kubernetes.

النشر السحابي النموذجي المستخدم هو نوع LoadBalancer. يدعم Kubernetes تجريد مستوى عالٍ من الدخول لحل التعقيد. يمكن للمستخدمين عرض خدمات مختلفة داخل نفس عنوان IP من خلال استخدام نفس موازين التحميل.

قراءة المزيد: Openshift مقابل Kubernetes: الفرق بين Openshift و Kubernetes

شبكات Kubernetes

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

التخزين المستمر

يشار إلى الدليل الذي يحتوي على بعض البيانات باسم مجلدات في Kubernetes. الدلائل في متناول القرون. هناك العديد من أنواع التخزين في Kubernetes. يمكن أن تستهلك الحاويات داخل الكبسولة أي مساحة تخزين. تُستخدم الخدمات السحابية العامة مثل NFS و Amazon Elastic Block Store و Iscsi و CephFS وما إلى ذلك لتركيب الملفات وحظر التخزين على جراب. PV (PersistentVolumes) هي كائنات على مستوى الكتلة مرتبطة بمصادر التخزين الحالية.

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

مصدر

خدمات الاكتشاف والنشر

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

مثال ( المصدر )

بالنسبة إلى خدمة Kubernetes ، يمكن أن يكون سجل DNS هو service.namespace.svc.cluster.local

سجل DNS ، يمكن أن يحتوي الجراب على: 10.32.0.125.namespace.pod.cluster.local

مصدر

مساحات الأسماء

تسمى المجموعة المادية التي تحتوي على مجموعات افتراضية مساحات الأسماء. يوفر بيئة افتراضية منفصلة لعدة مستخدمين إلى جانب حقوق الوصول الخاصة بكائنات Kubernetes.

تسميات

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

شروح

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

يجب أن تقرأ: Kubernetes Vs. عامل ميناء: الاختلافات الأساسية التي يجب أن تعرفها

احصل على شهادات في هندسة البرمجيات من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

خاتمة

تتطور تقنية Kubernetes بسرعة ، وهي حل فعال من حيث التكلفة للمستقبل. إنه يوفر ثباتًا كبيرًا للتطبيقات.

تم شرح جميع المفاهيم الأساسية لهندسة Kubernetes ومكونات Kubernetes في هذه المقالة.

إذا كنت مهتمًا بمعرفة المزيد حول Kubernetes ، والبيانات الضخمة ، فراجع برنامج upGrad & IIIT-B's Executive PG في تطوير البرامج الكامل المكدس المصمم للمهنيين العاملين ويقدم أكثر من 500 ساعة من التدريب الصارم ، وأكثر من 9 مشاريع ، و المهام ، وحالة خريجي IIIT-B ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.

استعد لمهنة المستقبل

تقدم الآن لبرنامج Executive PG في Full Stack Development