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

الفصل 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