שיעור 10: ConfigMap — קונפיגורציה מחוץ ל-image
עד עכשיו ארזנו אפליקציה לתוך image — חבילה קבועה שמכילה את הקוד וכל מה שהוא צריך. אבל מה קורה כשאותה אפליקציה צריכה להתנהג קצת אחרת בכל סביבה? בפיתוח נרצה אולי לוגים מפורטים, ובפרודקשן לוגים שקטים יותר. אם נטמיע את ההגדרות האלה בתוך ה-image, ניאלץ לבנות image חדש לכל שינוי קטן — בזבוז זמן וסיכון לטע
ConfigMap הוא כמו תפריט ההגדרות במכשיר: את/ה משנה הגדרה (שפה, בהירות) בלי לפרק ולהרכיב מחדש את כל המכשיר.
- קונפיגמאפ
- אובייקט Kubernetes ששומר הגדרות לא-סודיות כזוגות מפתח/ערך, ומזריק אותן לקונטיינר כמשתני סביבה או כקבצים — כך שאותו image יכול לרוץ עם קונפיגורציה שונה בכל סביבה.
- משתני סביבה
- ערכי הגדרה ששמורים בסביבת ההרצה של התהליך (למשל LOG_LEVEL=info) והאפליקציה קוראת אותם בזמן ריצה במקום שיהיו כתובים בתוך הקוד.
- אימג'
- חבילה קבועה ובלתי-משתנה שמכילה את האפליקציה וכל התלויות שלה. מאותו image מריצים קונטיינרים; כדי לשנות אותו צריך לבנות גרסה חדשה.