פריסת אפליקציה

כשדוחפים אפליקציה (באמצעות kf push) ל-Kf, יש שלושה מחזורי חיים ש-Kf משתמש בהם כדי לקחת את קוד המקור ולאפשר לו לטפל בתנועה:

  1. העלאת קוד מקור
  2. פיתוח פתרונות
  3. ריצה

העלאת קוד מקור

הדבר הראשון שקורה כשמריצים את הפקודה kf push הוא ש-Kf CLI‏ (kf) אורז את הספרייה (הנוכחית או --path/-p) לתוך מאגר ומפרסם אותו במאגר המאגריות שהוגדר עבור המרחב. המיכל הזה נקרא מיכל המקור. לאחר מכן, כלי ה-CLI של Kf יוצר סוג App ב-Kubernetes שמכיל גם את תמונת המקור וגם את ההגדרה מקובץ מניפסט של אפליקציה ומדגלי הדחיפה.

התעלמות מקבצים במהלך פעולת push

במקרים רבים, לא תרצו להעלות קבצים מסוימים במהלך kf push (למשל, להתעלם מהם). כאן אפשר להשתמש בקובץ .kfignore (או .cfignore). בדומה לקובץ .gitignore, הקובץ הזה מורה ל-Kf CLI אילו קבצים לא לכלול במאגר קוד המקור.

כדי ליצור קובץ .kfignore, יוצרים קובץ טקסט בשם .kfignore בספריית הבסיס של האפליקציה (בדומה למיקום שבו מאחסנים את קובץ המניפסט). אחר כך מאכלסים אותו ברשימה של קבצים וספריות שמופרדים בשורות חדשות, שלא רוצים לפרסם. לדוגמה:

bin
.idea

הפקודה הזו תורה ל-Kf CLI לא לכלול שום דבר בספריות bin או .idea.

ב-Kf יש תמיכה בתחביר בסגנון gitignore.

פיתוח פתרונות

מחזור החיים של ה-Build מנוהל על ידי TaskRun של Tekton. בהתאם לדגלים שמספקים במהלך הפעולה, המערכת תבחר משימה ספציפית של Tekton. ב-Kf יש כרגע את משימות Tekton הבאות:

  • buildpackv2
  • buildpackv3
  • kaniko

‫Kf עוקב אחרי כל TaskRun כ-Build. אם ה-Build מצליח, קובץ אימג' של קונטיינר שמתקבל נפרס דרך מחזור החיים של Run (שמתואר בהמשך).

מידע נוסף זמין במאמר בנושא Build Runtime.

ריצה

מחזור החיים של ההרצה אחראי לקחת קובץ אימג' של קונטיינר וליצור פריסה של Kubernetes.

הוא גם יוצר:

מידע נוסף זמין במאמר בנושא Build Runtime.

חסימות זמניות של Push

ב-Kf אפשר להגדיר משתנה סביבה כדי להורות ל-CLI להפסיק את הפעולה אחרי פרק זמן מסוים בזמן העלאת אפליקציות. אם המשתנים KF_STARTUP_TIMEOUT או CF_STARTUP_TIMEOUT מוגדרים, המערכת מנתחת אותם כמשך זמן בסגנון golang (לדוגמה, 15m,‏ 1h). אם לא מוגדר ערך, ברירת המחדל של הזמן הקצוב לתפוגה של הדחיפה היא 15 דקות.