מושגים שקשורים לקונטיינרים

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

הדוגמאות ל-Artifact Registry בדף הזה מתייחסות בעיקר למאגרי gcr.io ולמאגרי Docker. למידע נוסף, ראו פורמטים נתמכים וסקירת המאגרים.

מרשמים

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

שירותי רישום כמו Docker Hub ו-Artifact Registry מספקים אפשרויות ליצירת מאגרי מידע ציבוריים או פרטיים. בעת הסרת תמונות ציבוריות, חשוב להבין את חששות האבטחה האפשריים. למידע נוסף על ניטור פגיעויות והפחתת טביעת הרגל של התלות, קראו על ניהול תלויות.

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

מאגרי Artifact Registry וניהול תמונות

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

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

לדוגמה:

docker push us-west1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1

  • us-west1 הוא המיקום של המאגר
  • docker.pkg.dev הוא שם המארח של מאגרים בפורמט Docker.
  • PROJECT הוא מרחב השמות שנוצר על ידיGoogle Cloud מזהה הפרויקט.
  • quickstart-docker-repo הוא מרחב השמות בפרויקט שבו מאחסנים תמונות. ב-Artifact Registry, החלק הזה של הנתיב נקרא repository (מאגר).
  • quickstart-image הוא השם לכל הגרסאות של quickstart-image ולעתים קרובות מכונה התמונה.
  • tag1 הוא התג שמציין את גרסת התמונה.

תמונות

אפשר לאחסן ב-Artifact Registry גם ארטיפקטים וגם תמונות. ארטיפקט יכול להיות כל דבר: קובץ טקסט, קובץ אימג' של Docker או תרשים Helm, בעוד שתמונה בדרך כלל מתייחסת לקובץ אימג' של קונטיינר. קובצי אימג' של קונטיינרים הם חבילות של תוכנה שמכילות את כל האלמנטים הדרושים להפעלה בכל סביבה. מידע נוסף זמין במאמר מהם מאגרי תגים.

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

מידע נוסף על שמות של מאגרים ותמונות ב-Artifact Registry זמין במאמר שמות של מאגרים ותמונות.

שכבות

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

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

תגים

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

אם אתם משתמשים בתגים שלא ניתן לשנות, אסור לבצע את הפעולות הבאות:

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

התג latest הוא תג מיוחד שנוסף כאשר תמונות נשלחות ללא תג.

לדוגמה:

docker push us-west1-docker.pkg.dev/my-project/my-repo/hello-app

התמונה נשלחת אל hello-app:latest

docker pull us-west1-docker.pkg.dev/my-project/my-repo/hello-app

מושך את התמונה hello-app:latest.

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

מניפסטים

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

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

מידע נוסף על תיוג ומניפסטים ספציפיים ל-Artifact Registry זמין במאמרים ניהול תמונות ושימוש בתמונות של קונטיינרים.

חימום מראש של תמונות

באפליקציות שרגישות לזמן האחזור ומשתמשות בסטרימינג של תמונות, המתנה לשליפת תמונה בפעם הראשונה בצומת או במופע חדשים, שלרוב נקראת 'הפעלה במצב התחלתי (cold start)', עלולה לגרום לעיכובים לא רצויים. חימום מקדים מאפשר לך להתחיל במפורש את הורדת התמונות למטמון של הזרמת תמונות לפני שהן מתבקשות. התהליך הזה עוזר לוודא שהתמונה זמינה למסירה מהירה כשמתקבלת בקשה מאשכול GKE.

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

המאמרים הבאים