التسجيل باستخدام kubectl logs
صِل إلى سجلات الحاويات وحلّلها مباشرةً من عنقود Kubernetes باستخدام kubectl
التسجيل باستخدام kubectl logs درس مجاني في Kubernetes Basics على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Kubernetes Basics، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Kubernetes Basics 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) وفتح باقي دورة Kubernetes Basics، انتقل إلى CoddyKit PRO. تتضمن دورة Kubernetes Basics 4 دروس في المجموع.
ماذا ستتعلم في «التسجيل باستخدام kubectl logs»؟
صِل إلى سجلات الحاويات وحلّلها مباشرةً من عنقود Kubernetes باستخدام kubectl تتمرن على Kubernetes Basics مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Kubernetes Basics؟
لا تُشترط خبرة سابقة. Kubernetes Basics على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «التسجيل باستخدام kubectl logs»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Kubernetes Basics هذا؟
نعم. كل درس في Kubernetes Basics يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- التسجيل باستخدام kubectl logs
- المقاييس باستخدام Prometheus وGrafana
- فحوصات الصحة: فحوصات الحيوية والجاهزية
- التتبّع الموزّع والأحداث