0Pricing
DevOps Bootcamp · درس

التسجيل باستخدام kubectl logs

صِل إلى سجلات الحاويات وحلّلها مباشرةً من عنقود Kubernetes باستخدام kubectl

التسجيل باستخدام kubectl logs درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

أهمية السجلات في Kubernetes

يُعد فهم ما تفعله تطبيقاتكم أمرًا أساسيًا في Kubernetes. فالسجلات تشبه مذكرات تطبيقاتكم، إذ تسجل الأحداث والأخطاء وتحديثات الحالة.

وهي ضرورية من أجل:

  • تصحيح الأخطاء: تحديد المشكلات بدقة عند حدوث خطب ما.
  • المراقبة: متابعة صحة التطبيق وأدائه.
  • التدقيق: تتبع الإجراءات والتغييرات بمرور الوقت.

شرح سجلات الحاويات

عند تشغيل تطبيق في حاوية، فإنه يكتب عادةً مخرجاته إلى تدفقي الإخراج القياسي (stdout) والخطأ القياسي (stderr). وتجمع Kubernetes هذين التدفقين لكل حاوية.

ثم تُتاح هذه التدفقات من خلال واجهة Kubernetes البرمجية، مما يسمح لكم بالوصول إليها بسهولة دون الحاجة إلى استخدام SSH للاتصال بالعقد أو بالحاويات الفردية.

مقدمة إلى kubectl logs

يُعد الأمر kubectl logs أداتكم الأساسية للوصول إلى سجلات الحاويات التي تعمل داخل Pods في Kubernetes. وهو سهل الاستخدام ويوفر عدة خيارات قوية.

يتضمن الاستخدام الأساسي تحديد اسم Pod الذي تريدون فحصه ببساطة.

إنشاء Pod ينشئ سجلات

لرؤية kubectl logs أثناء العمل، لنتخيل أننا نشرنا Pod بسيطًا يخرج رسائل باستمرار إلى مخرجاته القياسية. وسيحاكي ذلك تطبيقًا حقيقيًا ينشئ سجلات.

إليكم ملف YAML الخاص بـ Pod هذا (يمكنكم تطبيقه باستخدام kubectl apply -f):

apiVersion: v1
kind: Pod
metadata:
  name: busybox-logger
spec:
  containers:
  - name: busybox-container
    image: busybox
    command: ['sh', '-c', 'while true; do echo "$(date) - Hello from BusyBox"; sleep 5; done']
  restartPolicy: Always

عرض سجلات Pod الأساسية

بعد تشغيل Pod ‏busybox-logger (تحقق من ذلك باستخدام kubectl get pods)، يمكنكم جلب سجلاته باستخدام الأمر الأساسي kubectl logs.

سيعرض لكم ذلك جميع إدخالات السجل المسجّلة حتى تلك اللحظة.

kubectl logs busybox-logger

بث السجلات في الوقت الفعلي

لأغراض تصحيح الأخطاء المباشر، تحتاجون غالبًا إلى رؤية السجلات لحظة حدوثها، على نحو مشابه للأمر tail -f في Linux. وتنفّذ العلامة -f أو --follow ذلك تحديدًا.

فهي تبث إدخالات السجل الجديدة من الحاوية باستمرار.

kubectl logs -f busybox-logger

سجلات الحاويات السابقة

إذا تعطّلت حاوية داخل Pod ثم أعيد تشغيلها، فسيعرض kubectl logs افتراضيًا سجلات النسخة الحالية قيد التشغيل.

لعرض سجلات نسخة سابقة ومنتهية من الحاوية، استخدموا العلامة --previous أو -p. وهذا أمر بالغ الأهمية لتصحيح سبب تعطل الحاوية.

kubectl logs -p busybox-logger

سجلات حاويات محددة

يمكن لبعض Pods تشغيل حاويات متعددة (مثل تطبيق رئيسي وsidecar مخصّص للتسجيل أو المراقبة). إذا كان Pod لديكم يحتوي على أكثر من حاوية، فيجب تحديد سجلات الحاوية التي تريدون عرضها باستخدام العلامة -c أو --container.

kubectl logs my-multi-container-pod -c my-sidecar-container

تصفية مخرجات السجل والحد منها

قد تحتاجون أحيانًا إلى جزء محدد فقط من السجلات أو إلى أحدث الإدخالات فحسب. ويمكنكم دمج kubectl logs مع أوامر Linux القياسية، أو استخدام العلامات المضمّنة:

  • التصفية باستخدام grep: مرّروا المخرجات إلى grep للعثور على كلمات رئيسية محددة.
  • تحديد عدد الأسطر باستخدام --tail: اعرضوا آخر N أسطر من السجلات فقط.
kubectl logs busybox-logger | grep "Hello"
kubectl logs busybox-logger --tail=5

تحدي أمر السجلات

لديكم Pod باسم my-app-pod يحتوي على حاويتين: frontend وbackend. تعطّلت حاوية backend مؤخرًا ثم أعيد تشغيلها. وتريدون عرض سجلات النسخة السابقة من حاوية backend.

ملخص السجلات وتصحيح الأخطاء

تهانينا! لقد تعلّمتم أساسيات الوصول إلى سجلات الحاويات وتحليلها باستخدام kubectl logs. فهذا الأمر القوي لا غنى عنه لفهم تطبيقاتكم التي تعمل في Kubernetes واستكشاف مشكلاتها وإصلاحها.

الأوامر الأساسية التي يجب تذكّرها:

  • kubectl logs <pod-name>: جلب السجلات الأساسية.
  • kubectl logs -f <pod-name>: بث السجلات في الوقت الفعلي.
  • kubectl logs -p <pod-name>: عرض سجلات نسخة سابقة من الحاوية.
  • kubectl logs -c <container> <pod-name>: عرض سجلات حاوية محددة.

الأسئلة الشائعة

هل درس «التسجيل باستخدام kubectl logs» مجاني؟

نعم — نص درس «التسجيل باستخدام kubectl logs» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

ماذا ستتعلم في «التسجيل باستخدام kubectl logs»؟

صِل إلى سجلات الحاويات وحلّلها مباشرةً من عنقود Kubernetes باستخدام kubectl تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟

لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «التسجيل باستخدام kubectl logs»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟

نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. التسجيل باستخدام kubectl logs
  2. المقاييس باستخدام Prometheus وGrafana
  3. فحوصات الصحة: فحوصات الحيوية والجاهزية
  4. التتبّع الموزّع والأحداث
← العودة إلى DevOps Bootcamp