בעזרת Artifact Registry תוכלו לאחסן ולארגן תמונות של קונטיינרים וארטיפקטים אחרים במאגרי מידע, כדי שתוכלו לנהל ולפרוס עומסי עבודה בסביבות שונות. אפשר להשתמש בשכבות של תמונות, בתגים ובסיכומי מניפסט כדי לשלוט בניהול הגרסאות של התמונות ולנהל את הפריסות.
מרשמים
מאגר הוא מקום לאחסון ולהפצה של קובצי אימג' של קונטיינרים וארטיפקטים שמסודרים לפי שם במאגרים. מאגר יכול להכיל מאגר יחיד או כמה מאגרים, והוא יכול להיות ציבורי או פרטי.
שירותי רישום כמו Docker Hub ו-Artifact Registry מספקים אפשרויות ליצירת מאגרי מידע ציבוריים או פרטיים. כשמושכים תמונות ציבוריות, חשוב להבין את בעיות האבטחה האפשריות. במאמר בנושא ניהול תלות מופיע מידע נוסף על מעקב אחר פגיעויות ועל צמצום טביעת הרגל של התלות.
מאגרי רישום מאורגנים במאגרים שבהם מאוחסנים קובצי תמונות של קונטיינרים. ב-Artifact Registry אפשר ליצור כמה מאגרי מידע בפרויקט אחד ולשייך לכל מאגר מידע מיקום אזורי ספציפי. יכול להיות שמאגרים קשורים יקובצו לפי תוויות.מאגרי Artifact Registry וניהול תמונות
במאגרי Artifact Registry בפורמט Docker, אפשר לאחסן כמה תמונות של קונטיינרים עם שמות שונים באותו מאגר. כל גרסה של תמונה מזוהה על ידי התקציר שלה, ואפשר לשייך לה תג. תגים יכולים להיות ניתנים לשינוי או לא ניתנים לשינוי. מידע נוסף על גרסאות ותגים של קובצי אימג' של קונטיינרים זמין במאמר בנושא גרסאות של קובצי אימג' של קונטיינרים.
בדרך כלל, Artifact Registry מתייחס לחלקים בנתיב לתמונה כדי לזהות את הפרויקט, את המיקום האזורי ואת שם התמונה, יחד עם התג או התקציר של המניפסט כדי לזהות את הגרסה הנכונה.לדוגמה:
docker push u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-docker-repo/quickstart-image:tag1
-
u-france-east1הוא המיקום של המאגר -
docker.s3nsregistry.frהוא שם המארח של מאגרים בפורמט Docker. -
PROJECTהוא מרחב השמות שנוצר על ידיCloud de Confiance by S3NS מזהה הפרויקט. -
quickstart-docker-repoהוא מרחב השמות בפרויקט שבו מאחסנים תמונות. ב-Artifact Registry, החלק הזה של הנתיב נקרא מאגר. -
quickstart-imageהוא השם של כל הגרסאות שלquickstart-image, ולרוב מתייחסים אליו כאל התמונה. -
tag1הוא התג שמציין את גרסת התמונה.
תמונות
אפשר לאחסן ב-Artifact Registry גם ארטיפקטים וגם תמונות. ארטיפקט יכול להיות כל דבר: קובץ טקסט, קובץ אימג' של Docker או תרשים Helm, בעוד שתמונה מתייחסת בדרך כלל לקובץ אימג' של קונטיינר. קובצי אימג' של קונטיינרים הם חבילות של תוכנה שמכילות את כל האלמנטים הדרושים להרצה בכל סביבה. מידע נוסף זמין במאמר מהם קונטיינרים.
התמונות מועברות או מועלות למאגרים ונמשכות או מורדות מהמאגרים. כדי לציין את התמונה והגרסה הנכונות, צריך לציין את המאגר הייחודי ואת פריט המידע שנוצר בתהליך פיתוח (Artifact).
מידע נוסף על שמות של מאגרים ותמונות ב-Artifact Registry זמין במאמר שמות של מאגרים ותמונות.
שכבות
תמונות של קונטיינרים שמאוחסנות במאגרים בנויות באופן מצטבר באמצעות שכבות. אפשר להשתמש בחלק מהשכבות בתמונות שונות. השכבות מוגדרות בדרכים שונות בהתאם לסוג התמונה. לדוגמה, כל הוראה בקובץ Dockerfile מתאימה לשכבה בקובץ אימג' של Docker. בתוך מאגר, תמונות עם שכבות משותפות חולקות את השכבות האלה, וכך מגדילות את יעילות האחסון. מטעמי אבטחה, השכבות לא משותפות בין רישומים שונים.
כשמוחקים קובץ אימג' של קונטיינר, השכבות לא נמחקות באופן מיידי. שכבות שלא מוזכרות באף תמונה במאגר נמחקות מדי יום.
תגים
משתמשים מוסיפים תגים כשהם דוחפים או מושכים תמונה למאגר כדי לציין את הגרסה של התמונה. תמונה יכולה לכלול תג אחד, כמה תגים או אף תג. אם אתם משתמשים בתגים שניתנים לשינוי, ואתם שולחים תמונה פעמיים עם אותו תג, התג יוסר מהתמונה הראשונה ויועבר לשנייה, כך שהתמונה הראשונה לא תכלול תג. עדיין אפשר לגשת לתמונה שלא תויגה באמצעות תקצירי המניפסט שלה.
אם אתם משתמשים בתגים שלא ניתן לשנות, הפעולות הבאות אסורות:
- מחיקת תמונה מתויגת. עדיין מותר למחוק תמונות שלא תויגו.
- הסרת תג מתמונה.
- העלאת תמונה עם תג שכבר נמצא בשימוש בגרסה אחרת של התמונה במאגר.
התג latest הוא תג מיוחד שמצורף כשמעלים תמונות בלי תג.
לדוגמה:
docker push u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/hello-app
התמונה נשלחת אל hello-app:latest
docker pull u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/hello-app
מושך את התמונה hello-app:latest.
חשוב לציין שכשתמונה נדחפת למאגר עם תג שאינו latest, התג latest לא מתווסף, ולכן יכול להיות שהתמונה latest לא תהיה מעודכנת. מומלץ להשתמש בתגים אחרים מלבד latest לגרסאות.
מניפסטים
קובצי מניפסט של תמונות מזהים ומציינים באופן ייחודי את השכבות בכל תמונה. מניפסטים מזוהים באמצעות גיבובי SHA-256 ייחודיים שנקראים תקצירי מניפסט. תקצירי מניפסטים אמינים ומאובטחים יותר מתגים, כי במאגרים עם תגים שניתנים לשינוי, אפשר להעלות כמה גרסאות של אותה תמונה לאותו תג, כך שחלק מהתמונות לא מקבלות תגים, בעוד שכל תמונה מצוינת באופן ייחודי על ידי תקציר המניפסט שלה.
אם משתמשים בכלים לסריקה או לניתוח תמונות, התוצאות של הכלים האלה תקפות רק לתמונה שנסרקה. כדי לוודא שפריסת התמונה היא של התמונה שנסרקה, אי אפשר להסתמך על התג כי התמונה שאליה מתייחס התג עשויה להשתנות.
מידע נוסף על תיוג ומניפסטים ספציפיים ב-Artifact Registry זמין במאמרים ניהול תמונות ושימוש בתמונות של קונטיינרים.
חימום מוקדם של תמונות
באפליקציות שרגישות לזמן האחזור ומשתמשות בהזרמת תמונות, המתנה לשליפת תמונה בפעם הראשונה בצומת או במופע חדשים, שנקראת לעיתים קרובות "הפעלה במצב התחלתי (cold start)", עלולה לגרום לעיכובים לא רצויים. חימום מראש מאפשר להתחיל באופן מפורש את ההורדה של תמונות למטמון של סטרימינג של תמונות לפני שהן נדרשות. התהליך הזה עוזר לוודא שהתמונה זמינה למסירה מהירה כשקלאסטר GKE מבקש אותה.
כדי לבצע חימום מראש של תמונות, צריך להשתמש ב-Artifact Registry API. הוראות מפורטות מופיעות במאמר איך מקטינים את זמן האחזור באמצעות חימום מראש של תמונות.