0Pricing
DevOps Bootcamp · درس

الوحدات: أصغر وحدة

تعلّم ما هي الوحدة، وما الغرض منها، وكيفية تعريف الوحدات وإنشائها باستخدام بيانات YAML الوصفية

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

مرحبًا بكم في Pods!

في Kubernetes، تُسمى أصغر وحدة قابلة للنشر Pod. ويمكنكم اعتبارها اللبنة الأساسية لتطبيقاتكم.

سيعرّفكم هذا الدرس على Pods والغرض منها، وعلى كيفية إنشائها باستخدام YAML.

الوحدات: أصغر وحدة — رسم توضيحي 1

ما هي Pod؟

Pod هي تجريد يمثل نسخة واحدة من تطبيقكم. وتحتوي على حاوية واحدة أو أكثر، إلى جانب موارد مشتركة.

  • الحاويات: عادةً ما تكون حاويات Docker تشغّل شيفرة تطبيقكم.
  • التخزين: وحدات تخزين مشتركة لضمان استمرارية البيانات.
  • الشبكة: عنوان IP فريد وإعدادات شبكة خاصة بـ Pod.

لماذا Pods بدلًا من الحاويات فقط؟

قد تتساءلون عن سبب استخدام Kubernetes لـ Pods بدلًا من إدارة الحاويات مباشرةً. إليكم السبب:

  • الموارد المشتركة: تشترك الحاويات الموجودة داخل Pod في مساحة أسماء الشبكة نفسها، ويمكنها التواصل عبر localhost.
  • التواجد المشترك: يضمن جدولة الحاويات المترابطة بشدة (مثل التطبيق وحاوية sidecar الخاصة بالتسجيل) دائمًا معًا على العقدة نفسها.
  • التجريد: توفر Pods مستوى أعلى من التجريد، ما يسهّل إدارة التطبيقات كوحدة واحدة بدلًا من إدارة الحاويات الفردية.

بنية Pod بسيطة

تشغّل معظم Pods حاوية واحدة. وهذه هي حالة الاستخدام الأكثر شيوعًا. فعلى سبيل المثال، قد تشغّل Pod خادم ويب Nginx فقط أو تطبيق Node.js.

حتى مع وجود حاوية واحدة، توفر Pod سياق الشبكة والتخزين، ما يجعلها وحدة مكتملة للنشر.

تعريف Pods باستخدام YAML

تُعرّف كائنات Kubernetes، بما فيها Pods، عادةً باستخدام ملفات YAML (وهي اختصار لعبارة YAML Ain't Markup Language). وتصف هذه الملفات الحالة المطلوبة لمواردكم.

يتضمن ملف YAML الأساسي لـ Pod ما يلي:

  • apiVersion: إصدار Kubernetes API.
  • kind: نوع كائن Kubernetes (مثل Pod).
  • metadata: معلومات مثل name وlabels الخاصة بـ Pod.
  • spec: الحالة المطلوبة، بما في ذلك الحاويات المطلوب تشغيلها.

مثال: ملف YAML لـ Nginx Pod

لنلقِ نظرة على تعريف YAML بسيط لـ Pod تشغّل خادم ويب Nginx.

يحدد القسم spec.containers الحاويات الموجودة داخل Pod، بما في ذلك name وimage وports الخاصة بها.

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
  labels:
    app: web
spec:
  containers:
  - name: nginx
    image: nginx:latest
    ports:
    - containerPort: 80

إنشاء Pod الأولى

لإنشاء Pod من ملف YAML، استخدموا الأمر kubectl apply. يخبر هذا الأمر Kubernetes بإنشاء الموارد أو تحديثها استنادًا إلى تعريفكم.

أولًا، احفظوا محتوى YAML السابق في ملف باسم nginx-pod.yaml.

kubectl apply -f nginx-pod.yaml

التحقق من حالة Pod

بعد تطبيق YAML، يمكنكم التحقق من حالة Pod باستخدام kubectl get pod. ومن المفترض أن تظهر Pod في حالة Running.

للحصول على معلومات أكثر تفصيلًا، بما في ذلك الأحداث وحالة الحاوية، استخدموا kubectl describe pod.

kubectl get pod nginx-pod
kubectl describe pod nginx-pod

Pods متعددة الحاويات (Sidecars)

مع أن Pods ذات الحاوية الواحدة شائعة، يمكن أن تحتوي Pod أيضًا على حاويات متعددة. وتكون هذه الحاويات عادةً مترابطة بشدة وتشترك في الموارد.

من الأنماط الشائعة حاوية 'sidecar'، التي تعمل إلى جانب حاوية التطبيق الرئيسية لتوفير خدمات مساعدة مثل التسجيل أو المراقبة أو مزامنة البيانات.

سنتناول هذا النمط بمزيد من التفصيل في درس مستقبلي!

اختبار تعريف Pod

أيٌّ مما يلي ليس حقلًا مطلوبًا من المستوى الأعلى في تعريف YAML أساسي لـ Pod في Kubernetes؟

مراجعة: Pods - الأساس

لقد تعلمتم أن Pods هي أصغر الوحدات القابلة للنشر في Kubernetes، إذ تضم الحاويات وموارد التخزين والشبكة.

  • تجرد Pods الحاويات لتمكين مشاركة الموارد والتواجد المشترك.
  • تعرّف ملفات YAML Pods باستخدام apiVersion وkind وmetadata وspec.
  • تنشئون Pods باستخدام kubectl apply -f <filename> وتفحصونها باستخدام kubectl get pod وkubectl describe pod.

بعد ذلك، سنتعمق في دورة حياة هذه اللبنات الأساسية وحالاتها!

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

هل درس «الوحدات: أصغر وحدة» مجاني؟

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

ماذا ستتعلم في «الوحدات: أصغر وحدة»؟

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

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

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

كم من الوقت يستغرق درس «الوحدات: أصغر وحدة»؟

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

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

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

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

  1. الوحدات: أصغر وحدة
  2. دورة حياة الوحدة وحالاتها
  3. وحدات متعددة الحاويات (Sidecars)
  4. حاويات Init وترتيب بدء التشغيل
← العودة إلى DevOps Bootcamp