الفصل 1.4 - البنية عالية المستوى
أهداف التعلم
في نهاية هذا الفصل، ستكون قادرًا على:
- فهم هيكل عنقود Kubernetes
- تحديد مكونات الـ Control Plane
- تحديد مكونات الـ Worker Nodes
- فهم الاتصال بين المكونات
مقدمة
يتكون عنقود Kubernetes من آلات منظمة في مجموعتين رئيسيتين: Control Plane (سابقًا Master) و Worker Nodes. فهم هذه البنية أساسي لإتقان Kubernetes.
نظرة عامة على العنقود
الهيكل الأساسي
نوعان من الآلات:
- Control Plane: تتخذ القرارات وتدير الحالة
- 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