الدرس 6: لماذا لا يكفي Pod واحد — تعرّف على Deployment
حتى الآن شغّلنا Pod واحدًا — أصغر شيء يشغّله Kubernetes، صندوق واحد بداخله الحاوية الخاصة بك. لكن الـ Pod الواحد لا يملك شبكة أمان: احذفه، أو افقد الـ node الذي يعمل عليه، وسيختفي ببساطة، دون أن يعيده أحد. في هذا الدرس نتعرّف على Deployment: كائن يقول "أريد N نسخة متطابقة من التطبيق، في كل الأوقات."
Deployment مثل مدير مطعم يقول "احتفظ دائمًا بثلاثة نُدُل في القاعة." إذا غادر نادل ولم يعُد أبدًا، يُحضر المدير فورًا واحدًا جديدًا، دون أن تضطر إلى الطلب.
- Deployment
- كائن يصف الحالة المرغوبة لمجموعة من الـ Pods المتطابقة: كم عدد النسخ، وأي صورة حاوية، وأي إعدادات. لا يعُدّ الـ Pods بنفسه بل ينشئ ReplicaSet يقوم بذلك.
- ReplicaSet
- الـ controller الذي وظيفته الوحيدة هي ضمان أن عدد الـ Pods الحية يساوي العدد المرغوب. إذا نقص Pod ينشئ واحدًا؛ وإذا كان هناك فائض يحذف واحدًا. ينشئه Deployment ويديره نيابةً عنك.
- Replicas
- عدد النسخ المتطابقة من الـ Pod التي تريد تشغيلها بالتوازي. حقل replicas في المنيفست هو الحالة المرغوبة التي يحافظ عليها الـ ReplicaSet.
- التعافي الذاتي
- قدرة Kubernetes على اكتشاف اختفاء نسخة واستعادتها تلقائيًا إلى الحالة المرغوبة، دون تدخّل يدوي.