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

الفصل 2.4 - مدير وحدة التحكم

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

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

  • فهم دور مدير وحدة التحكم
  • شرح نمط التحكم في الحلقة
  • تحديد وحدات التحكم المختلفة
  • فهم كيفية الحفاظ على Kubernetes للحالة المرغوبة

ما هو مدير وحدة التحكم؟​

يقوم مدير وحدة التحكم (kube-controller-manager) بتشغيل وحدات التحكم التي تراقب حالة العنقود وتتخذ إجراءات لمطابقة الحالة الفعلية مع الحالة المرغوبة.


نمط التحكم في الحلقة​

تتبع وحدات التحكم نمط التحكم في الحلقة:

الخصائص:

  • مراقبة مستمرة (watch)
  • مقارنة الحالة الفعلية مع المرغوبة
  • إجراءات تصحيحية تلقائية
  • حلقة التوفيق

وحدات التحكم الرئيسية​

1. وحدة تحكم النشر​

يدير النشر ويحافظ على عدد النسخ:

الإجراءات:

  • إنشاء ReplicaSets
  • إدارة التحديثات المتدرجة
  • تنفيذ التراجعات

2. وحدة تحكم ReplicaSet​

يحافظ على عدد الـ Pods المرغوب:

3. وحدة تحكم العقدة​

يراقب حالة العقد:

  • يكتشف العقد غير المتاحة
  • يضع علامة على العقد كـ NotReady
  • يتجنب جدولة الـ Pods على العقد الفاشلة

4. وحدة تحكم الخدمة​

يدير الخدمات ونقاط النهاية الخاصة بها:

  • إنشاء/الحفاظ على نقاط النهاية
  • التزامن مع موازنات التحميل السحابية

5. وحدة تحكم الوظيفة​

يدير الوظائف والوظائف المجدولة:

  • يراقب تنفيذ الوظائف
  • يدير الوظائف المجدولة (المهام المجدولة)

مثال عملي: النشر​

السيناريو الأولي​

apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
template:
spec:
containers:
- name: app
image: nginx:1.20

ما يحدث:​

  1. يقرأ Deployment Controller النشر
  2. ينشئ ReplicaSet مع 3 نسخ
  3. يتحقق ReplicaSet Controller من وجود 3 Pods
  4. إذا تعطل أحد الـ Pods، ينشئ ReplicaSet Controller Pod جديد
  5. يقوم Scheduler بتعيين الـ Pod الجديد لعقدة
  6. يقوم kubelet بتشغيل الحاوية

التوفيق (Reconciliation Loop)​

المفهوم​

التوفيق هو العملية المستمرة لـ:

  1. مراقبة الحالة الحالية
  2. المقارنة مع الحالة المرغوبة
  3. اتخاذ إجراءات لتقليل الفجوة

مثال: ReplicaSet​


الأداء والتحسينات​

تحديد المعدل​

تحد وحدات التحكم من عدد الطلبات لتجنب تحميل API Server بشكل زائد.

التراجع​

في حالة حدوث خطأ، تنتظر وحدات التحكم قبل إعادة المحاولة (تراجع أسي).

العمال المتزامنون​

يعالج العديد من العمال الموارد بالتوازي.


الأوامر المفيدة​

# عرض سجلات Controller Manager
kubectl logs -n kube-system kube-controller-manager-<node>

# عرض الأحداث المرتبطة بالمتحكمات
kubectl get events --sort-by='.lastTimestamp'

# Vérifier l'état d'un Deployment
kubectl describe deployment <name>

الملخص​

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

مدير وحدة التحكم: يقوم بتشغيل وحدات التحكم التي تحافظ على الحالة المرغوبة
نمط التحكم: مراقبة مستمرة، مقارنة، إجراء تصحيحي
وحدات التحكم الرئيسية: النشر، ReplicaSet، العقدة، الخدمة، الوظيفة
التوفيق: عملية مستمرة للحفاظ على الحالة المرغوبة
التعافي الذاتي: تقوم وحدات التحكم بتصحيح الفجوات تلقائيًا


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

الآن بعد أن فهمت مدير وحدة التحكم:

الفصل 2.5: المجدول - جدولة الـ Pods
الفصل 2.6: kubelet - وكيل Worker Nodes


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