دروس Kubernetes للمبتدئين: الأساسيات، والميزات، Architecture
قبل أن نبدأ هذا البرنامج التعليمي Kubernetes، دعونا نتعلم:
ما هو Kubernetes؟
Kubernetes Kubernetes هو نظام إدارة حاويات تم تطويره على منصة Google. يساعد Kubernetes في إدارة التطبيقات المحصورة في حاويات في أنواع مختلفة من البيئات المادية والافتراضية والسحابية. يعد Google Kubernetes أداة حاويات مرنة للغاية لتقديم تطبيقات معقدة تعمل باستمرار على مجموعات من مئات إلى آلاف الخوادم الفردية.
لماذا تحتاج الحاويات؟
مستخدم الإنترنت اليوم لا يقبل أبدًا التوقف. لذلك يتعين على المطورين إيجاد طريقة لإجراء الصيانة والتحديث دون مقاطعة خدماتهم.
لذلك، تُعدّ الحاوية بيئة معزولة، تتضمن كل ما يلزم لتشغيل التطبيق. وتُسهّل على المطور تعديل التطبيقات ونشرها. علاوة على ذلك، أصبحت الحاويات أسلوبًا مفضلًا لتعبئة تطبيقات الويب ونشرها وتحديثها.
ما هي المهمة التي يؤديها Kubernetes؟
Kubernetes هو نواة Linux المستخدمة للأنظمة الموزعة. يساعدك على تجريد الأجهزة الأساسية للعقد (الخوادم) ويوفر واجهة متسقة للتطبيقات التي تستهلك مجموعة الموارد المشتركة.
لماذا استخدام Kubernetes؟
يساعدك Kubernetes على التحكم في تخصيص الموارد وإدارة حركة المرور للتطبيقات السحابية والخدمات الصغيرة. كما أنه يساعد على تبسيط الجوانب المختلفة للبنى التحتية الموجهة نحو الخدمة. يتيح لك Kubernetes التأكد من مكان وزمان تشغيل التطبيقات الموجودة في حاويات ويساعدك في العثور على الموارد والأدوات التي تريد العمل بها.
ملامح Kubernetes
فيما يلي ميزات Kubernetes الأساسية:
- الجدولة الآلية
- قدرات الشفاء الذاتي
- الطرح الآلي والتراجع
- القياس الأفقي وموازنة التحميل
- يوفر اتساق البيئة للتطوير والاختبار والإنتاج
- تقترن البنية التحتية بشكل فضفاض بحيث يمكن لكل مكون أن يعمل كوحدة منفصلة
- يوفر كثافة أعلى لاستخدام الموارد
- يقدم ميزات جاهزة للمؤسسات
- الإدارة التي تركز على التطبيقات
- بنية تحتية قابلة للتطوير تلقائيًا
- يمكنك إنشاء بنية تحتية يمكن التنبؤ بها
أساسيات Kubernetes
الآن في هذا البرنامج التعليمي لـ Kubernetes، سوف نتعلم بعض الأساسيات المهمة لـ Kubernetes:
-
Cluster
إنها مجموعة من المضيفين (الخوادم) التي تساعدك على تجميع مواردهم المتاحة. يتضمن ذلك ذاكرة الوصول العشوائي ووحدة المعالجة المركزية وذاكرة الوصول العشوائي والقرص وأجهزتهم في مجموعة قابلة للاستخدام.
-
الماجستير
إن الجهاز الرئيسي عبارة عن مجموعة من المكونات التي تشكل لوحة التحكم في Kubernetes. تُستخدم هذه المكونات في جميع قرارات المجموعة. وهي تتضمن كلًا من جدولة أحداث المجموعة والاستجابة لها.
-
العقدة
إنه مضيف واحد قادر على العمل على جهاز فعلي أو الجهاز الظاهرييجب أن تقوم العقدة بتشغيل كل من kube-proxy وminikube وkubelet والتي تعتبر جزءًا من المجموعة.
-
مساحة الاسم
إنها مجموعة أو بيئة منطقية. وهي طريقة مستخدمة على نطاق واسع لتحديد نطاق الوصول أو تقسيم مجموعة.
Kubernetes Architecture
فيما يلي مخطط تفصيلي لهندسة Kubernetes:

ماجستير العقدة
العقدة الرئيسية هي المكون الأول والأكثر أهمية المسؤول عن إدارة مجموعة Kubernetes. إنها نقطة الدخول لجميع أنواع المهام الإدارية. قد يكون هناك أكثر من عقدة رئيسية في المجموعة للتحقق من تحمل الأخطاء.
تحتوي العقدة الرئيسية على مكونات مختلفة مثل API Server وController Manager وScheduler وETCD. دعونا نرى كل منهم.
خادم API: يعمل خادم API كنقطة دخول لجميع أوامر REST المستخدمة للتحكم في المجموعة.
جدولة
يقوم المجدول بجدولة المهام إلى العقدة التابعة. يقوم بتخزين معلومات استخدام الموارد لكل عقدة تابعة. وهي المسؤولة عن توزيع عبء العمل.
يساعدك أيضًا على تتبع كيفية استخدام الحمل العامل على عقد المجموعة. ويساعدك على وضع الحمل العامل على الموارد المتاحة وقبول الحمل العامل.
إلخ.
تقوم مكونات etcd بتخزين تفاصيل التكوين وقيم رايت. يتواصل مع معظم المكونات لتلقي الأوامر والعمل. كما أنه يدير قواعد الشبكة ونشاط إعادة توجيه المنفذ.
عقد العامل/العبد
تعد العقد العاملة مكونًا أساسيًا آخر يحتوي على جميع الخدمات المطلوبة لإدارة الشبكات بين الحاويات، والتواصل مع العقدة الرئيسية، مما يسمح لك بتعيين الموارد للحاويات المجدولة.
- Kubelet: يحصل على تكوين Pod من خادم API ويضمن تشغيل الحاويات الموصوفة.
- حاوية عامل الميناء: عامل في حوض السفن تعمل الحاوية على كل من العقد العاملة، والتي تقوم بتشغيل القرون التي تم تكوينها
- Kube-proxy: يعمل Kube-proxy كموازن تحميل ووكيل شبكة لأداء الخدمة على عقدة عاملة واحدة
- البودات: الكبسولة عبارة عن مجموعة من الحاويات المفردة أو المتعددة التي تعمل معًا بشكل منطقي على العقد
المصطلحات الرئيسية الأخرى
وحدات تحكم النسخ المتماثل
وحدة التحكم في النسخ المتماثل هي كائن يحدد قالب جراب. كما أنه يتحكم في المعلمات لقياس النسخ المتماثلة المتطابقة من Pod أفقيًا عن طريق زيادة أو تقليل عدد النسخ قيد التشغيل.
مجموعات النسخ المتماثل
مجموعات النسخ المتماثل عبارة عن تفاعل على تصميم وحدة تحكم النسخ المتماثل مع مرونة في كيفية تعرف وحدة التحكم على القرون التي من المفترض أن تديرها. إنه يحل محل وحدات التحكم في النسخ المتماثل نظرًا لقدرتها العالية على تحديد النسخ المتماثل.
نشر
النشر هو عبء عمل شائع يمكن إنشاؤه وإدارته مباشرة. تم تعيين النسخ المتماثل للنشر ككتلة بناء تضيف ميزة إدارة دورة الحياة.
مجموعات الدولة
إنه جهاز تحكم متخصص يوفر الطلب والتفرد. يتم استخدامه بشكل أساسي للحصول على تحكم دقيق، والذي تحتاج إليه بشكل خاص فيما يتعلق بأمر النشر والشبكات المستقرة والبيانات المستمرة.
مجموعات الشيطان
تعتبر مجموعات Daemon شكلًا متخصصًا آخر من وحدات التحكم في البود التي تقوم بتشغيل نسخة من البود على كل عقدة في المجموعة. يعد هذا النوع من وحدات التحكم في البود طريقة فعالة لنشر البودات التي تسمح لك بإجراء الصيانة وتقدم خدمات للعقد نفسها.
Kubernetes مقابل Docker Swarm
فيما يلي اختلافات مهمة بين Kubernetes مقابل Docker.
| معامل | عامل ميناء سرب | Kubernetes |
|---|---|---|
| التحجيم | لا يوجد تحجيم تلقائي | التحجيم التلقائي |
| تحميل موازنة | هل موازنة التحميل التلقائي | قم بتكوين إعدادات موازنة التحميل يدويًا |
| مشاركة حجم التخزين | مشاركة أحجام التخزين مع أي حاوية أخرى | مشاركة أحجام التخزين بين حاويات متعددة داخل نفس Pod |
| استخدام أداة تسجيل الدخول والمراقبة | استخدم 3rd أداة الحفلة مثل ELK | توفير أداة مدمجة للتسجيل والمراقبة. |
| التركيب | سهل وسريع | معقدة وتستغرق وقتا طويلا |
| GUI | واجهة المستخدم الرسومية غير متوفرة | واجهة المستخدم الرسومية متاحة |
| التوسعة | التوسع أسرع من K8S، لكن قوة المجموعة ليست قوية بنفس القدر | يعد التوسع بطيئًا مقارنةً بـ Swarm، ولكنه يضمن حالة مجموعة أقوى ويتطلب موازنة التحميل تكوين الخدمة يدويًا |
| تحميل موازنة | يوفر تقنية موازنة التحميل المضمنة | جدولة العملية للحفاظ على الخدمات أثناء التحديث |
| التحديثات والتراجعات - تسجيل ومراقبة وحدات تخزين البيانات | التحديثات التقدمية ومراقبة صحة الخدمة. | تتم مشاركتها فقط مع الحاويات الموجودة في نفس أدوات التسجيل والمراقبة المدمجة في Pod. |
مزايا Kubernetes
- سهولة تنظيم الخدمة مع القرون
- تم تطويره بواسطة Google، التي جلبت سنوات من الخبرة القيمة في مجال الصناعة إلى الطاولة
- أكبر مجتمع بين أدوات تنسيق الحاويات
- يقدم مجموعة متنوعة من خيارات التخزين، بما في ذلك شبكات SAN المحلية والسحابية العامة
- تلتزم بمبادئ البنية التحتية غير القابلة للتغيير
- يمكن لـ Kubernetes تشغيل السحابات المعدنية الداخلية وOpenStack والسحابات العامة جوجل, Azure, AWS، الخ.
- يساعدك على تجنب مشكلات قفل البائع حيث يمكنه استخدام أي واجهات برمجة تطبيقات أو خدمات خاصة بالبائع باستثناء الحالات التي يوفر فيها Kubernetes تجريدًا، على سبيل المثال، موازن التحميل والتخزين.
- تسمح الحاويات باستخدام kubernetes لبرامج الحزمة بخدمة هذه الأهداف. فإنه سيتم تمكين التطبيقات التي تحتاج إلى إصدارها وتحديثها دون أي توقف.
- يسمح لك Kubernetes بالتأكد من تشغيل هذه التطبيقات المعبأة في حاويات أينما ومتى تريد، ويساعدك في العثور على الموارد والأدوات التي تريد العمل بها.
عيوب Kubernetes
- لوحة تحكم Kubenetes ليست مفيدة كما ينبغي
- يعد Kubernetes معقدًا بعض الشيء وغير ضروري في البيئات التي تتم فيها جميع عمليات التطوير محليًا.
- الأمن ليس فعالا جدا.
ملخص
- تساعد الحاوية المؤسسة على إجراء الصيانة والتحديث دون انقطاع الخدمات
- يعد Kubernetes مثالاً لنظام إدارة الحاويات الذي تم تطويره في منصة Google.
- أكبر ميزة لاستخدام Kubernetes هي أنه يمكنه تشغيل OpenStack محليًا، والسحابات العامة لـ Google، Azure، أوس، الخ.
- يقدم Kubernetes جدولة آلية وإمكانيات للإصلاح الذاتي.
- Clusterيعد كل من السيد والعقدة ومساحة الاسم من العناصر الأساسية المهمة في kubernetes
- العقدة الرئيسية وعقدة العمل هي مكونات مهمة لهندسة Kubernetes.
- وحدات التحكم في النسخ المتماثل، ومجموعات النسخ المتماثل، وعمليات النشر، والمجموعات ذات الحالة، ومجموعات الشيطان هي مصطلحات مهمة أخرى مستخدمة في Kubernetes.
- لا يسمح سرب Docker بالقياس التلقائي بينما يسمح Kubernetes بالقياس التلقائي.
- أكبر عيب في Kubenetes هو أن لوحة القيادة الخاصة بها ليست مفيدة وفعالة للغاية
