שיעור 2: הרעיון הגדול — מצב רצוי מול מצב בפועל
זה הרעיון היחיד שצריך לקחת מהשיעור הזה, וכל השאר ב-Kubernetes נבנה עליו. במקום להריץ בעצמך פקודה אחרי פקודה ולקוות שהכול נשאר תקין, את/ה כותב/ת בקובץ אחד את "המצב הרצוי" — איך הדברים אמורים להיראות, למשל "שיהיו 3 עותקים של האפליקציה". מנגד יש את "המצב בפועל" — מה שבאמת רץ ברגע נתון. Kubernetes בודק
זה כמו תרמוסטט: את/ה קובע/ת שיהיו 22 מעלות, והמכשיר בודק את הטמפרטורה כל הזמן ומדליק או מכבה כדי שהמציאות תתאים למה שביקשת.
- מצב רצוי
- התיאור שאת/ה מצהיר/ה עליו בקובץ — איך המערכת אמורה להיראות: אילו רכיבים רצים, כמה עותקים ובאיזו קונפיגורציה. זו ה"מטרה" ש-Kubernetes שואף אליה.
- מצב בפועל
- מה שבאמת רץ בקלאסטר ברגע נתון — כמה Pods חיים כרגע ומה מצבם. זה מה ש-Kubernetes מודד ומשווה אל המצב הרצוי.
- התאמה (reconciliation)
- הלולאה המתמשכת שבה Kubernetes משווה את המצב בפועל למצב הרצוי, ואם יש פער — פועל לסגור אותו (יוצר, מוחק או מחליף רכיבים) עד שהשניים מתלכדים.
- תצורה הצהרתית
- גישה שבה מתארים מה רוצים שיתקיים בסוף ("שיהיו 3 עותקים") ונותנים למערכת להחליט איך להגיע לשם — בניגוד לגישה פקודתית (imperative) שבה נותנים בעצמך כל צעד.