הגדרת Skopeo להעתקה ובדיקה של אימג'ים של קונטיינרים

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

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

שאלות נפוצות

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

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

הגדרת Skopeo: מדוע העברה ידנית של דימויים שוברת את שרשרת האספקה

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

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

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

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

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

בהמשך נפרט כיצד זה נסגר — ממדיניות ועד העברה לסביבות סגורות.

מה נותנת העברה אוטומטית של דימויים בין מאגרים

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

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

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

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

הגדרת Skopeo למספר מאגרים: השוואת מצבים

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

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

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

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

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

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

שלבי יישום: מביקורת מאגרים ועד העברת נהלים

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

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

ערכת אספקה: קונפיגורציות, סכמות, מדיניות ונהלים

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

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

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

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

מה היה לפני

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

מה שינו ומה נהיה

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

לאחר ההעברה, הצינור משווה מניפסטים של המקור והיעד לפי סכום ביקורת ועוצר אם הם שונים. זמן ההעברה הצטמצם מ-40 ל-13 דקות, שיעור הפעולות הידניות — מ-100% ל-10% (נותר אישור תג), תקלות בגלל גרסאות — מחמש ברבעון לאפס. חוסר סנכרון בין סביבות נראה כעת בשלב ההעברה, ולא אחרי הפריסה.

במה שונה שיקוף מאגר מהעברה ישירה של דימויים

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

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

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

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

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

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

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

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

איך זה עובד בסביבה ללא יציאה לאינטרנט?

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

אילו הרשאות נדרשות והאם זה נותן גישה מיותרת?

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

האם החתימה נשמרת וכיצד בודקים שלמות?

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

האם יהיה צורך לעצור שירותים וכיצד לחזור אחורה?

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

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

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

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

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