الدرس 10: ConfigMap — الإعدادات خارج الـ image
حتى الآن حزمنا التطبيق داخل image — حزمة ثابتة تحتوي على الكود وكل ما يحتاجه. لكن ماذا يحدث عندما يجب أن يتصرّف التطبيق نفسه بشكل مختلف قليلاً في كل بيئة؟ في بيئة التطوير قد نرغب في سجلات مفصّلة، وفي الإنتاج سجلات أهدأ. إذا دمجنا هذه الإعدادات داخل الـ image، فسنضطر إلى بناء image جديد لكل تغيير صغي
ConfigMap مثل قائمة الإعدادات في جهاز: تُغيّر إعدادًا (اللغة، السطوع) دون تفكيك الجهاز بأكمله وإعادة بنائه.
- ConfigMap
- كائن Kubernetes يخزّن الإعدادات غير السرّية على هيئة أزواج مفتاح/قيمة ويحقنها في حاوية كمتغيّرات بيئة أو كملفّات — بحيث يمكن للـ image نفسه أن يعمل بإعدادات مختلفة لكل بيئة.
- متغيّرات البيئة
- قيم إعدادات مخزّنة في بيئة تشغيل العملية (مثل LOG_LEVEL=info) يقرأها التطبيق أثناء التشغيل بدلاً من كتابتها داخل الكود.
- Image
- حزمة ثابتة وغير قابلة للتغيير تحتوي على التطبيق وكل تبعياته. تُشغَّل الحاويات من الـ image؛ ولتغييره يجب بناء نسخة جديدة.