שיעור 13: אחסון ואריזה — PVC, Helm ו-GitOps
עד עכשיו ה-Pods שלנו היו «חד-פעמיים»: כשהם נמחקים או מופעלים מחדש, כל הקבצים שנכתבו בתוכם נעלמים. זה בסדר לאפליקציה שלא שומרת כלום, אבל בעייתי לבסיס נתונים. בשיעור הזה נכיר שלושה כלים שמשלימים את התמונה. ראשון — PersistentVolumeClaim (בקיצור PVC): בקשה לאחסון קבוע ש«שורד» את ה-Pod, בדיוק כמו דיסק חי
ה-Pod הוא כמו לוח מחיק שנמחק בכל פעם שמכבים אותו; PVC הוא דיסק-און-קי שנשאר מלא. Helm הוא ארגז רהיטים בהרכבה עצמית, ו-GitOps אומר: «מה שכתוב במחברת — זאת המציאות».
- בקשת נפח קבוע
- אובייקט שמבקש אחסון קבוע בגודל מסוים. ה-Pod מתחבר אליו, והנתונים נשמרים גם אחרי שה-Pod נמחק או מופעל מחדש — כמו דיסק חיצוני.
- הלם
- מנהל החבילות של Kubernetes. הוא אורז קבוצת קבצי YAML לתבנית אחת («chart») עם קובץ ערכים (values) שאפשר להתאים, כך שאותה אריזה מתקינה את האפליקציה בכמה סביבות.
- גיטאופס
- שיטת עבודה שבה ה-repo ב-Git הוא מקור האמת היחיד למצב הקלאסטר. בקר (למשל ArgoCD או Flux) משווה כל הזמן את הקלאסטר ל-repo ומיישר אותו אליו אוטומטית.
- מצב גישה
- הגדרה ב-PVC שקובעת איך אפשר לחבר את הנפח. ReadWriteOnce אומר שרק node אחד יכול לכתוב אליו בכל רגע — הנפוץ ביותר עבור דיסק של אפליקציה אחת.
- ערכי chart
- קובץ (values.yaml) שמספק את הערכים המשתנים ל-Helm chart — למשל שם תמונה, מספר replicas או גודל אחסון — כך שאותה תבנית מותאמת לכל סביבה בלי לשכפל YAML.