الـ Pod هو اللبنة الأساسية في Kubernetes وأوّل ما يجب أن تفهمه بعد المعمارية. كل شيء تشغّله في العنقود ينتهي إلى pods.
ما هو الـ Pod؟
الـ Pod هو أصغر وحدة قابلة للنشر في Kubernetes. قد تظنّ أنّ الوحدة هي الحاوية، لكن Kubernetes لا يشغّل الحاويات مباشرةً — بل يغلّفها في pods.
الـ Pod يحتوي حاوية واحدة أو أكثر تعمل معًا، وتتشارك:
- شبكة واحدة: للحاويات داخل الـ pod عنوان IP واحد، ويتخاطبون عبر
localhost. - تخزينًا مشتركًا: يمكنها الوصول إلى أحجام (Volumes) مشتركة.
في الغالب الأعمّ، يحتوي الـ pod حاويةً واحدة؛ وتُستخدم الحاويات المتعدّدة في أنماط خاصّة (مثل حاوية مساعدة «Sidecar»).
مثال: تعريف Pod
تُعرَّف كائنات Kubernetes بملفّات YAML. هذا أبسط تعريف لـ pod يشغّل خادم ويب:
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: web
image: nginx:1.27
ports:
- containerPort: 80
الـ Pods مؤقّتة (Ephemeral)
نقطة جوهرية: الـ pods ليست دائمة. إن تعطّل pod أو العقدة التي يعمل عليها، فإنه لا يُشفى بنفسه — ببساطة يختفي. كما أنّ لكلّ pod جديد عنوان IP جديدًا، فلا يمكن الاعتماد على عنوانه.
هذا يقودنا إلى درس مهمّ: نادرًا ما ننشئ pods مباشرةً. بدلًا من ذلك نستخدم كائنات أعلى مستوى (مثل الـ Deployment) تنشئ الـ pods وتديرها وتعيد إنشاءها عند الفشل. الـ pod وحدة تشغيل، لا وحدة إدارة.
لماذا يهمّك هذا؟
فهم أنّ الـ pod مؤقّت وقابل للاستبدال هو مفتاح التفكير «السحابي الأصيل»: لا تعامل الـ pods كخوادم أليفة تعتني بها، بل كوحدات قابلة للاستبدال يديرها العنقود نيابةً عنك.
الخطوات التالية
بما أنّنا لا ندير الـ pods يدويًا، سنتعرّف على من يديرها: الـ ReplicaSet الذي يضمن بقاء عدد ثابت من النسخ، ثم الـ Deployment. راجع الأساس في ما هو Kubernetes؟.