שימוש במשפחות של קובצי אימג' כדי לפשט את ניהול הגרסאות של קובצי האימג'. כדי להגדיר תמונה כגרסה העדכנית ביותר, מוסיפים אותה למשפחת תמונות. אם החלטתם שאתם צריכים להחזיר את משפחת קובצי האימג' לגרסת תמונה קודמת, אתם צריכים להוציא משימוש את קובץ האימג' האחרון במשפחה.
במאמר שיטות מומלצות לעבודה עם משפחות של קובצי אימג' מפורטות שיטות מומלצות לעבודה עם משפחות של קובצי אימג'.
אפשר גם לציין את מיקום האחסון של התמונה באמצעותGoogle Cloud מסוף, הפקודה gcloud compute images create עם הדגל --storage-location או השיטה images().insert.
לפני שמתחילים
- קוראים את המסמך Images.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים האלה:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים Google Cloud ולממשקי ה-API, לא צריך להגדיר אימות.
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, מאתחלים את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל.
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
הגדרת גרסת התמונה במשפחת תמונות
המסוף
נכנסים לדף Create an image במסוף Google Cloud .
מציינים את השם של האימג'. לדוגמה,
image-v1.מציינים את המקור (Source) שממנו רוצים ליצור קובץ אימג'. המקור יכול להיות דיסק אחסון מתמיד (persistent disk), קובץ snapshot, קובץ אימג' אחר או קובץ disk.raw ב-Cloud Storage.
אם אתם יוצרים תמונה מדיסק שמצורף למכונת VM פעילה, מסמנים את התיבה Keep instance running כדי לאשר שאתם רוצים ליצור את התמונה בזמן שה-VM פועלת. אפשר להכין את המכונה הווירטואלית לפני שיוצרים את התמונה.
בתפריט הנפתח Based on source disk location (default) (על סמך מיקום דיסק המקור (ברירת מחדל)), מציינים את המיקום לאחסון התמונה. לדוגמה, מציינים
usכדי לאחסן את התמונה בusמספר אזורים בארה"ב, אוus-central1כדי לאחסן אותה ב אזורus-central1. אם לא בוחרים מיקום, Compute Engine מאחסן את התמונה במספר אזורים הקרוב ביותר למיקום המקור של התמונה.מציינים את התמונה Family (משפחה) לתמונה החדשה. לדוגמה, מוסיפים את התג
my-image-familyכדי לארגן את התמונה כחלק ממשפחת תמונות.אופציונלי: מציינים מאפיינים אחרים של התמונה:
- תיאור: תיאור של התמונה המותאמת אישית.
- תווית: תווית לקיבוץ משאבים.
מציינים את מפתח ההצפנה. אתם יכולים לבחור בין Google-owned and Google-managed encryption key, מפתח של Cloud Key Management Service (Cloud KMS) או מפתח בהצפנה באספקת הלקוח (CSEK). אם לא מציינים מפתח הצפנה, התמונות מוצפנות באמצעות Google-owned and Google-managed encryption key.
כדי ליצור את התמונה, לוחצים על יצירה.
gcloud
gcloud compute images create image-v1 \
--source-disk disk-1 \
--source-disk-zone us-central1-f \
--family my-image-family
משפחת התמונות מפנה אל image-v1. מוסיפים תמונה שנייה לקבוצה:
gcloud compute images create image-v2 \
--source-disk disk-2 \
--source-disk-zone us-central1-f \
--family my-image-family
REST
שולחים בקשת POST ל-method images().insert.
מציינים את משפחת התמונות בגוף הבקשה.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images
{
"name": "image-v2",
"sourceDisk": "/zones/us-central1-f/disks/disk-2",
"family":"my-image-family",
}
משפחת התמונות מפנה אל image-v2 כי זו התמונה האחרונה שהוספתם למשפחת התמונות.
gcloud
כדי לראות לאיזו תמונה משפחה מסוימת מפנה, מריצים את הפקודה gcloud compute images describe-from-family.
לדוגמה:
gcloud compute images describe-from-family my-image-family
family: my-image-family
id: '8904691942610171306'
kind: compute#image
name: image-v2
selfLink: https://compute.googleapis.com/compute/v1/projects/my-project/global/images/image-v2
sourceDisk: https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/disks/disk-v2
sourceDiskId: '1677449456001963379'
sourceType: RAW
status: READY
REST
שולחים בקשת GET אל ה-method images().getFromFamily.
מציינים את משפחת התמונות בגוף הבקשה.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/family
{
"resourceId":"my-image-family",
}
אם תגיעו למסקנה שאתם צריכים להחזיר את משפחת התמונות למצב קודם כדי שהיא לא תפנה יותר אל image-v2, תוציאו את image-v2 משימוש ומשפחת התמונות תפנה שוב אל image-v1.
gcloud compute images deprecate image-v2 \
--state DEPRECATED \
--replacement image-v1
בודקים שהתמונה המשפחתית מצביעה על image-v1.
gcloud compute images describe-from-family my-image-family
family: my-image-family
id: '2741732787056801255'
kind: compute#image
name: image-v1
selfLink: https://compute.googleapis.com/compute/v1/projects/my-project/global/images/image-v1
sourceDisk: https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/disks/disk-v1
sourceDiskId: '1677449456001963379'
sourceType: RAW
status: READY