الفصل 2.6 - kubelet
الأهداف التعليمية
في نهاية هذا الفصل، ستكون قادرًا على:
- فهم دور kubelet
- شرح كيفية إدارة kubelet للبودات
- فهم فحوصات الصحة
- تحديد التفاعلات مع بيئة تشغيل الحاويات
ما هو kubelet؟
kubelet هو الوكيل الذي يعمل على كل عقدة عمل. وهو مسؤول عن:
- إدارة البودات على عقدته
- التواصل مع API Server
- بدء/إيقاف الحاويات
- تنفيذ فحوصات الصحة
أدوار kubelet
1. إدارة البودات
kubelet يراقب البودات المخصصة لعقدته:
2. التواصل مع API Server
kubelet:
- يستقبل مواصفات البودات
- يبلغ عن حالة البودات
- يرسل المقاييس والأحداث
3. فحوصات الصحة
kubelet ينفذ ثلاثة أنواع من الفحوصات:
- فحص الحياة: هل الحاوية حية؟
- فحص الجاهزية: هل الحاوية جاهزة؟
- فحص بدء التشغيل: هل بدأت الحاوية؟
دورة حياة البود
فحوصات الصحة (Probes)
فحص الحياة
يحدد ما إذا كان يجب إعادة تشغيل الحاوية:
livenessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 30
periodSeconds: 10
إذا فشل الفحص → kubelet يعيد تشغيل الحاوية.
فحص الجاهزية
يحدد ما إذا كانت الحاوية جاهزة لاستقبال الحركة:
readinessProbe:
httpGet:
path: /ready
port: 8080
initialDelaySeconds: 5
periodSeconds: 5
إذا فشل الفحص → يتم إزالة البود من الخدمات.
فحص بدء التشغيل
للتطبيقات البطيئة في البدء:
startupProbe:
httpGet:
path: /startup
port: 8080
failureThreshold: 30
periodSeconds: 10
التفاعل مع بيئة تشغيل الحاويات
kubelet يتواصل مع بيئة تشغيل الحاويات عبر CRI (واجهة تشغيل الحاويات):
العمليات:
CreateContainer()StartContainer()StopContainer()RemoveContainer()
المقاييس والأحداث
kubelet يجمع ويرسل:
- المقاييس: وحدة المعالجة المركزية، الذاكرة، القرص، الشبكة
- الأحداث: إنشاء، بدء، إيقاف، أخطاء
- الحالة: حالة البودات والحاويات
الأمان
kubelet:
- يصادق مع API Server (شهادات)
- يتحقق من الصور قبل تشغيلها
- يطبق سياسات الأمان (معايير أمان البود)
الأوامر المفيدة
# عرض سجلات kubelet (على العقدة)
journalctl -u kubelet
# عرض البودات على عقدة محددة
kubectl get pods --field-selector spec.nodeName=<node-name>
# عرض أحداث بود
kubectl describe pod <pod-name>
ملخص
في هذا الفصل، تعلمت:
kubelet: وكيل يدير البودات على كل عقدة عمل
الإدارة: إنشاء، بدء، إيقاف الحاويات
فحوصات الصحة: فحوصات الحياة، الجاهزية، بدء التشغيل
التواصل: مع API Server وبيئة تشغيل الحاويات
المراقبة: المقاييس والأحداث بشكل مستمر
الخطوات التالية
الآن بعد أن فهمت kubelet:
الفصل 2.7: kube-proxy - الشبكات
الفصل 2.8: بيئة تشغيل الحاويات
الفصل تم إنشاؤه في: ديسمبر 2024