דלגו לתוכן

גישה למבחן — התמונה המלאה

העשר שורות שמצילות מבחן. כל השאר בעמוד הוא הרחבה שלהן.

  1. קרא הכול לפני שמקלידים (15 דקות): grep ל-TODO, exit 1, repoURL: "", ומלא את טבלת הערכים. first-15-minutes
  2. bash preflight.sh בלי FAIL, ו-source env.sh בכל terminal חדש. environment-setup
  3. Git הוא הדרך היחידה לשנות את הקלאסטר: לא kubectl edit, לא helm install.
  4. הוכח כל שכבה לפני הבאה: runner, CI, image ב-GitLab Container Registry, commit ב-gitops, render, Argo, /info.
  5. helm template מקומי לפני כל push של values (אחרי git pull).
  6. שגיאה: קרא את השורה האחרונה, שתי דקות, ושאל "קוד או סביבה". לא מוסיפים סיבות שהטקסט לא תומך בהן.
  7. Secret לכל namespace, mount ב-/run/secrets/<APP_DIR> ולא ב-/run/secrets, ו-tag אף פעם לא latest.
  8. דחוף את כל ה-branches וגם את ה-tags. מה שלא נדחף לא קיים עבור Argo.
  9. קודם כל ה-MUST ירוקים, אחר כך SHOULD, ורק אז יצירתיות (עד 15% מהזמן).
  10. 20 דקות אחרונות: אין TODO, exit 1 או secret ב-Git, ו-verify.sh && cleanup.sh && verify-clean.sh && cleanup.sh && verify-clean.sh.

איך מוודאים: אתה יכול להקריא את עשר השורות בלי להסתכל, ולהצביע על העמוד שמרחיב כל אחת.

תקציב מוצע (הערכה, לא מדידה): האחוזים הם מזמן המבחן הכולל, כך שאין צורך לדעת כמה שעות יש. אחרי חזרה מתוזמנת מחליפים אותם במספרים שלך (time-and-triage).

#שלב% מוצעהוא נגמר כש…עמוד
1קריאה ומיפוי6%טבלת הערכים מלאה ויש רשימת TODO לפי קובץfirst-15-minutes
2סביבה: preflight.sh, env.sh4%preflight: PASSenvironment-setup
3repos, tokens, variables, runner8%job בדיקה ירוק על ה-runnerorder-of-work
4CI: build, publish, promote14%images ב-GitLab Container Registry ו-commit ב-gitopsorder-of-work
5values ו-render של chart16%helm template עובר לכל envorder-of-work
6Secrets, Applications, root12%כל ה-Applications Syncedorder-of-work
7envs מאומתים, observability12%/info מחזיר את ה-candidate הנכוןorder-of-work
8verify, cleanup, idempotency8%הרצף הכפול עוברlast-20-minutes
9extras (עד 15%) וחוצץ לתקלות (5%)20%רק אחרי שכל ה-MUST ירוקיםcreativity

סך הכול 100%, ואותם מספרים מפורטים ב-time-and-triage. שורה 9 היא גם מרווח ביטחון: אם שלב מוקדם נמרח, היא הראשונה שמוותרים עליה.

איך מוודאים: בכל שלב יש "gate" שאפשר להריץ ולקבל כן או לא, לא תחושה. את ה-gates ואת הכשל הסביר של כל שלב מפרט order-of-work.

#כללשורה אחתפירוט
1Git is the only way to change the clusterתיקון חי מתבטל ב-selfHeal, ואם הוא לא מתבטל הוא עדיין לא ב-Git ולכן לא שרד.argocd/operate
2verify each layer before the nextבאג בשכבה 2 שמתגלה בשכבה 6 עולה פי עשרה.verify/overview
3render before pushhelm template עם אותם קבצי values ש-Argo יקרא, מקומית ובשניות.helm/testing
4read the error bottom-upהשגיאה האמיתית היא השורה האחרונה; כל מה שמעליה עוטף אותה.debugging/overview
5code vs environmentאם הקוד לא השתנה והכשל התחיל, זו סביבה: DNS, daemon, runner, namespace.debugging/env-cards

איך מוודאים: בכל תקלה אתה יכול לומר איזה כלל מהחמישה היא מפרה, לפני שאתה מקליד תיקון.

הרגע במבחןהעמוד
דקות 0–15, לפני שמקלידיםoverview (אתה כאן) ו-first-15-minutes
דקות 15–25, לפני כל pipelineenvironment-setup
בכל פעם ששואלים "מה עכשיו"order-of-work
לפני כל station: מה עלול להישברprevent-known-problems
משהו אדום יותר משתי דקותwhen-stuck
אתה מפגר או צריך להחליט מה לוותרtime-and-triage
20 הדקות האחרונותlast-20-minutes
כל ה-MUST ירוקים ויש זמןcreativity
ערב לפני: תרגול עצמיdrill ו-time-and-triage (חזרה מתוזמנת)

אם אין זמן לקרוא: שליפה מהירה לפקודה, ו-התמונה הגדולה להבנת הזרימה.

איך מוודאים: בכל רגע אתה יודע איזה עמוד פתוח אצלך ולמה, ואף פעם לא קורא את הטאב מההתחלה לסוף במהלך המבחן.