انتقل إلى المحتوى الرئيسي

الفصل 1.4 - البنية عالية المستوى

أهداف التعلم​

في نهاية هذا الفصل، ستكون قادرًا على:

  • فهم هيكل عنقود Kubernetes
  • تحديد مكونات الـ Control Plane
  • تحديد مكونات الـ Worker Nodes
  • فهم الاتصال بين المكونات

مقدمة​

يتكون عنقود Kubernetes من آلات منظمة في مجموعتين رئيسيتين: Control Plane (سابقًا Master) و Worker Nodes. فهم هذه البنية أساسي لإتقان Kubernetes.


نظرة عامة على العنقود​

الهيكل الأساسي​

نوعان من الآلات:

  1. Control Plane: تتخذ القرارات وتدير الحالة
  2. Worker Nodes: تنفذ التطبيقات

الـ Control Plane (Master)​

الدور الرئيسي​

الـ Control Plane هو "العقل" للعنقود:

المسؤوليات:

  • إدارة الحالة المرغوبة للعنقود
  • اتخاذ قرارات النشر
  • تنسيق الـ Worker Nodes
  • عرض الـ API الخاص بـ Kubernetes

مكونات الـ Control Plane​

1. API Server​

الدور: نقطة دخول وحيدة لجميع التفاعلات

الوظائف:

  • يتحقق ويعالج جميع الطلبات
  • يعرض الـ API REST الخاص بـ Kubernetes
  • المصادقة والتفويض
  • تحديد المعدل

2. etcd​

الدور: قاعدة بيانات موزعة - مصدر الحقيقة

الخصائص:

  • قاعدة بيانات موزعة من نوع مفتاح-قيمة
  • يخزن كل حالة العنقود
  • مصدر الحقيقة الوحيد
  • توفر عالي (عدة نسخ)

مهم: etcd حرج - فقدانه = فقدان العنقود!

3. Controller Manager​

الدور: ينفذ حلقات التحكم

المتحكمات المضمنة:

  • متحكم النشر
  • متحكم ReplicaSet
  • متحكم الخدمة
  • متحكم الـ Node
  • والعديد غيرها...

المبدأ: يراقب الحالة المرغوبة مقابل الحالة الفعلية ويتخذ إجراءات تصحيحية

4. Scheduler​

الدور: يقرر على أي node وضع الـ Pods الجديدة

معايير الاختيار:

  • الموارد المتاحة (CPU، RAM)
  • القيود (التقارب، عدم التقارب)
  • موازنة الحمل
  • سياسات التعيين

الـ Worker Nodes​

الدور الرئيسي​

الـ Worker Nodes تنفذ التطبيقات:

مكونات الـ Worker Node​

1. kubelet​

الدور: وكيل يتواصل مع الـ API Server

الوظائف:

  • يتلقى التعليمات من الـ API Server
  • يدير الـ Pods على الـ node
  • يراقب صحة الحاويات
  • يبلغ الحالة إلى الـ Control Plane

2. kube-proxy​

الدور: يدير الشبكات على مستوى الـ node

الوظائف:

  • ينفذ الخدمات (موازنة الحمل)
  • يدير قواعد الشبكة
  • توجيه الحركة إلى الـ Pods
  • سياسات الشبكة

3. Container Runtime​

الدور: ينفذ الحاويات

الـ Runtimes المدعومة:

  • Docker (مهمل ولكنه لا يزال مستخدمًا)
  • containerd (موصى به)
  • CRI-O (خفيف الوزن)

الواجهة: CRI (واجهة تشغيل الحاويات)


الاتصال في العنقود​

تدفق الاتصال​

الاتصال بين API Server و Nodes​

البروتوكول: HTTPS (آمن) الاتجاه: ثنائي الاتجاه

  • API Server → Nodes: تعليمات
  • Nodes → API Server: تقارير الحالة

التوفر العالي​

التوفر العالي للـ Control Plane​

للإنتاج، يجب أن يكون الـ Control Plane متاحًا بشكل عالي:

التوصية: الحد الأدنى 3 نسخ لتحقيق النصاب


ملخص الفصل​

في هذا الفصل، تعلمت:

العنقود = Control Plane + Worker Nodes
Control Plane: API Server، etcd، Controller Manager، Scheduler
Worker Nodes: kubelet، kube-proxy، Container Runtime
API Server: نقطة دخول وحيدة
etcd: قاعدة بيانات الحالة
kubelet: وكيل على كل node
الاتصال: HTTPS بين جميع المكونات


الخطوات التالية​

الآن بعد أن فهمت البنية:

الفصل 1.5: المفاهيم الأساسية (Pods، Services، إلخ.)
المختبر 1.1: النشر الأول


تم إنشاء الفصل في: ديسمبر 2024