הגדרת ניהול ריבוי אשכולות Kubernetes (Rancher)

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

היכולות שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1365
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

Rancher וניהול אשכולות: היכן נשבר המצב הידני

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

חוסר סנכרון של קונפיגורציות מתגלה בשקט: מגבלות משאבים, מדיניות רשת, גרסאות אימג'ים ופרמטרים של בקרים באשכולות הולכים ומתרחקים בהדרגה.

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

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

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

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

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

לפני הריכוזיות כל אשכול חי את חייו: עדכון אימג', הרשאות גישה או מכסות בוצע במעבר נפרד, ואחרי המעבר השלישי-רביעי הקונפיגורציות התרחקו. שיעור הפעולות הידניות בפריסה נשאר גבוה, וטעות בשלב אחד צפה כבר בסביבת העבודה.

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

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

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

סוג הכשל עובר מ"איבדנו גישה לסביבה" ל"עיכבנו עדכון", ונקודת הכשל היחידה נסגרת באמצעות צומת ניהול גיבוי וייצוא מצב סדיר — ניתן להעלות את הסביבה בריצת שחזור אחת.

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

אפשרויות ארגון הניהול: השוואת גישות

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

להלן — הגישות שביניהן באמת בוחרים בהתחלה. נשווה אותן לפי התאמה ומגבלות: לכל אחת יש תרחיש שבו היא מפסידה לשכנתה.

מצבי ניהול והתאמתם

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

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

שלבי ההטמעה: מביקורת ועד מסירה לתפעול

סדר השלבים כאן חשוב יותר מהמהירות: אם מתחילים בפריסת פאנל הניהול, לפניו לא יהיה לא רשימה מדויקת של אשכולות ולא מודל גישה מוסכם — וההגדרה תסתכם בהעברת הכאוס הקודם לממשק חדש.

לכן את הניהול של אשכולות ב-Rancher אנחנו מציבים לאחר המלאי, וכל שלב הבא נשען על תוצאה מתועדת של השלב הקודם: הבדיקות מתבצעות על סטנד שמשחזר את סביבת הייצור.

  1. ביקורת אשכולות. אוספים מרשם של סביבות: היכן הן פרוסות, אילו גרסאות של שכבת הניהול, למי יש גישה ואילו פעולות מבוצעות ידנית. התוצר — מפה עם צווארי בקבוק וסיכונים.
  2. סכמת תפקידים והרשאות. מפרידים בין מנהל הפלטפורמה, מפעיל האשכול וצוות שעובד רק במרחב השמות שלו. את התפקידים מקשרים לקבוצות בספריית המשתמשים הקיימת, כדי שלא תיווצר מערכת רישום שנייה.
  3. תכנון טופולוגיה. קובעים היכן ממוקמת סביבת הניהול, כיצד אשכולות מתחברים אליה בחיבור יוצא ללא פתיחת פורטים נכנסים וכיצד הפאנל מגובה.
  4. הגדרה. תבניות אשכולות, מדיניות אבטחה, כללי עדכון אחידים, הוצאת מדדים ויומנים למערכת ניטור משותפת.
  5. בדיקה על סטנד. מריצים תרחישים: חיבור אשכול חדש, הוצאת צומת לתחזוקה, עדכון שכבת הניהול, שלילת הרשאות, שחזור מגיבוי. מתעדים את הזמן של כל פעולה.
  6. פיילוט והעברת אשכולות. מעבירים סביבות בחלקים, החל מהפחות קריטיות, תוך שמירה על אופן הגישה הקודם לתקופת החזרה לאחור.
  7. מסירה לתפעול. נהלי תורנויות, תיעוד, הכשרת המשמרת, מדדי בקרה ותוכנית פיתוח למחזור הבא.

ערכת תיעוד וקונפיגורציות בסיום

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

  • קונפיגורציות ניהול. מניפסטים הצהרתיים ופרופילים של Rancher: אילו פרמטרים משתנים בעת הרחבה, מה מקובע באופן נוקשה ומה מוציא למשתני סביבה.
  • סכמת אשכולות. טופולוגיה של סביבת הניהול וסביבות העבודה, תפקידי צמתים, סגמנטי רשת, נקודות כניסה חיצוניות ושיוך האשכולות לסביבות — עם סימונים היכן עוברים גבולות הכשל.
  • מטריצת תפקידים. מי ובאיזו רמה עובד עם אשכולות, מרחבי שמות, מרשמי אימג'ים וסודות; בנפרד — חשבונות שירות וייעודם.
  • נהל גישה. סדר הענקה ושלילה של הרשאות, תוחלת החיים של טוקנים, אישור חובה לפעולות מורשות ויומן שמראה מי שינה מה.
  • הוראות למשמרת. תרחישים שלב-אחר-שלב לפעולות טיפוסיות: הוספת צומת, עדכון, החזרה לאחור, רוטציה של תעודה — עם בדיקת התוצאה לאחר כל שלב.
  • סדר פעולות בעת תקרית. סימני הידרדרות, סדר האבחון, קריטריונים להסלמה ונקודות שאחריהן המשמרת נעצרת וקוראת למהנדס.
  • גיבוי ושחזור. מה מגובים, באיזו תדירות, היכן נשמר, ובנפרד — כיצד לבדוק שהגיבוי באמת נפרס.
  • מרשם אינטגרציות ותעודות. מערכות חיצוניות, מועדי חידוש, אחראים בצד הלקוח.

המסמכים נמצאים באותו מאגר שבו הקונפיגורציות, ועוברים סקירה בכל שינוי — אחרת הם מתרחקים מהמצב האמיתי של האשכולות כבר בשבוע הראשון.

בפועל: צמצום פעולות ידניות בסביבה מרובת אשכולות

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

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

מדד לפני אחרי
הענקת הרשאות לאשכול ידנית, ימים תפקיד בסביבה משותפת, דקות
חידוש תעודות לפי לוח שנה, עם איחורים אוטומטית, ללא השבתה
חיבור אשכול חדש בנייה ידנית, ימים תבנית טיפוסית, שעות
פערי קונפיגורציה התגלו בתקרית לפי כלל, לפני הפריסה
זמן תגובה לתקלה תלוי במי שזוכר את ההקשר נקודת תצפית אחידה

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

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

כיצד לאחד אשכולות שכבר פועלים תחת שליטה משותפת?

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

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

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

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

במקביל, אין מי שלוקח מהצוותים את האוטונומיה: הסביבה המשותפת קובעת את המסגרת — הרשאות, מכסות משאבים, כללי פריסה אחידים — ואת השינויים המקומיים הצוות עושה בעצמו. ניהול מרובה אשכולות ב-Rancher נשען בדיוק על האיזון הזה: נקודת כניסה אחידה ויכולת תצפית משותפת בלי להעביר את היישומים.

ספקות טכניים: הרשאות, בידוד, גבולות קנה המידה

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

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

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

מה יקרה לאשכולות אם הפאנל אינו זמין?

כלום — האשכולות פועלים לפי הקונפיגורציה הנוכחית. המגבלה היחידה: שינויים חדשים אינם מיושמים עד שהקשר עם שכבת הניהול מתחדש. הסוכן מתחבר מחדש בעצמו, עם השהיה גדלה והולכת, ולאחר חידוש הקשר מדביק את המצב: עדכונים וכללי גישה שהוגדרו בפאנל מיושמים ללא התערבות ידנית.