במסמך הזה מפורטות שיטות מומלצות לשימוש במשפחות של תמונות כדי לנהל גרסאות מתפתחות של תמונות של מערכות הפעלה (OS) ב-Compute Engine. משפחות של תמונות מאפשרות לקבץ תמונות קשורות, וכך כלי האוטומציה יכולים להפנות לגרסאות האחרונות תוך שמירה על האפשרות לחזור לגרסאות קודמות.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
gcloud
-
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud init
-
- הגדרת אזור ותחום כברירת מחדל
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .
משפחות של תמונות ציבוריות
Compute Engine מספק משפחות של תמונות כדי לעזור לכם לוודא שמערכות האוטומציה שלכם יכולות להפנות לתמונות העדכניות ביותר.
אדמינים יכולים לקבץ סדרה של תמונות כמשפחת תמונות. לאחר מכן, המשתמשים בתמונות צריכים לעקוב רק אחרי השם של משפחת התמונות, ולא אחרי שם התמונה המדויק. מכיוון ששמות התמונות צריכים להיות ייחודיים, צינורות ליצירת תמונות יוצרים לעיתים קרובות שמות תמונות עם מידע מוצפן, כמו שם האפליקציה, התאריך והגרסה, לדוגמה, my-application-v3-20210101.
בכלי אוטומציה, אפשר להפנות לשם משפחת התמונות במקום לעדכן את שם התמונה במרווחי זמן. שימוש במשפחות של תמונות מבטיח שתמיד תהיה לכם גישה לתמונה העדכנית ביותר במשפחה, לדוגמה, my-application.
תמונות שגלויות לכולם מקובצות למשפחות של תמונות. משפחת תמונות ציבורית תמיד מצביעה על הגרסה האחרונה של תמונה שזמינה בכל אזור. כשמשיקים תמונות חדשות ברחבי העולם, הזמינות הראשונית שלהן במשפחות התמונות תלויה באזור, מה שמשפר את עמידות התהליכים שלכם בפני תקלות אזוריות במהלך עדכוני תמונות של Google.
במהלך השקת תמונה, הגרסה העדכנית ביותר של תמונה במשפחת תמונות עשויה להיות שונה באזורים שונים. לדוגמה, משפחת התמונות debian-12 בפרויקט debian-cloud תמיד מצביעה על תמונת Debian 12 העדכנית ביותר, אבל יכול להיות שהתמונה העדכנית ביותר של Debian 12 באזורים us-central1-a ו-southamerica-east1-b תהיה שונה.
כשיוצרים מכונות וירטואליות ממשפחות של תמונות באמצעות Google Cloud CLI, Compute Engine משתמש בתמונה האחרונה שזמינה באזור של המכונה הווירטואלית עבור הבקשה שלכם. כשיוצרים מכונות וירטואליות באמצעות מסוף Cloud de Confiance , Compute Engine מציג רק את האימג'ים הציבוריים שזמינים באזור שבחרתם. אם רוצים ליצור מכונות וירטואליות באמצעות התמונה העדכנית ביותר שזמינה באופן גלובלי, משתמשים בפקודה instances create של gcloud CLI ומציינים את --image-family-scope=global.
הצגת הגרסה האחרונה של התמונה שזמינה
אפשר לראות את התמונה האחרונה שזמינה באופן גלובלי במשפחת תמונות, או את התמונה האחרונה שזמינה באזור מסוים.
ברחבי העולם
כדי לראות את התמונה האחרונה שזמינה באופן גלובלי במשפחת תמונות, משתמשים באחת מהשיטות הבאות:
gcloud
משתמשים בפקודה gcloud compute images describe-from-family:
gcloud compute images describe-from-family IMAGE_FAMILY_NAME \ --project=IMAGE_PROJECT
מחליפים את מה שכתוב בשדות הבאים:
-
IMAGE_FAMILY_NAME: השם של משפחת התמונות שרוצים לחפש. רשימה מלאה של שמות משפחה של תמונות זמינה במאמר בנושא פרטים על מערכת ההפעלה. -
IMAGE_PROJECT: שם פרויקט התמונות. רשימה מלאה של שמות פרויקטים של תמונות זמינה במאמר בנושא פרטים על מערכת ההפעלה.
REST
שולחים בקשת GET אל ה-method images.getFromFamily:
GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
IMAGE_PROJECT: שם פרויקט התמונות. רשימה מלאה של שמות פרויקטים של תמונות זמינה במאמר בנושא פרטים על מערכת ההפעלה. -
IMAGE_FAMILY_NAME: השם של משפחת התמונות שרוצים לחפש. רשימה מלאה של שמות משפחה של תמונות זמינה במאמר בנושא פרטים על מערכת ההפעלה.
לכל אזור
כדי לראות את התמונה האחרונה שזמינה במשפחת תמונות לאזור מסוים, משתמשים באחת מהשיטות הבאות:
gcloud
משתמשים בgcloud compute images describe-from-family עם הדגל --zone:
gcloud compute images describe-from-family IMAGE_FAMILY_NAME \ --project=IMAGE_PROJECT \ --zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
-
IMAGE_FAMILY_NAME: השם של משפחת התמונות שרוצים לחפש. רשימה מלאה של שמות משפחה של תמונות זמינה במאמר בנושא פרטים על מערכת ההפעלה. -
IMAGE_PROJECT: שם פרויקט התמונות. רשימה מלאה של שמות פרויקטים של תמונות זמינה במאמר בנושא פרטים על מערכת ההפעלה. -
ZONE: האזור שרוצים לשלוח אליו שאילתה.
REST
שולחים בקשת GET אל ה-method imageFamilyViews:
GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/zones/ZONE/imageFamilyViews/IMAGE_FAMILY_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
IMAGE_PROJECT: שם פרויקט התמונות. רשימה מלאה של שמות פרויקטים של תמונות זמינה במאמר פרטים על מערכת ההפעלה. -
ZONE: האזור שרוצים לשלוח אליו שאילתה. -
IMAGE_FAMILY_NAME: השם של משפחת התמונות שרוצים לחפש. רשימה מלאה של שמות משפחה של תמונות זמינה במאמר בנושא פרטים על מערכת ההפעלה.
משפחות של תמונות בהתאמה אישית
אתם יכולים ליצור משפחות תמונות מותאמות אישית לתמונות המותאמות אישית שלכם. הנקודות של משפחת התמונות מצביעות על התמונה האחרונה שבה השתמשתם כדי ליצור את משפחת התמונות. כדי להחזיר משפחת תמונות לגרסה קודמת של תמונה, אפשר להוציא משימוש את התמונה האחרונה במשפחה, בתנאי שהתמונה הקודמת לא הוצאה משימוש. מידע נוסף זמין במאמר בנושא הגדרת גרסאות של תמונות בקבוצת תמונות.
כדי ליצור תמונה עם משפחת תמונות, או כדי ליצור משפחת תמונות אם היא לא קיימת, צריך להוסיף דגל --family נוסף לשלב יצירת התמונה, לדוגמה:
gcloud compute images create my-application-v3-20210101 \
--source-disk my-application-disk-1 \
--source-disk-zone us-central1-f \
--family my-application
אחרי שמריצים את הפקודה הזו, כל קריאה להרצת מופע שמבוסס על קובץ האימג' my-application מפנה לקובץ האימג' שנוצר, my-application-v3-20210101.
כשבוחרים שם למשפחת התמונות, כדאי לעיין במוסכמות למתן שמות.
איך משתמשים במשפחות של תמונות
משפחות של תמונות מאפשרות לכם להפנות לתמונה האחרונה, אבל יכול להיות שהתמונה האחרונה לא תהיה תואמת לאפליקציה שלכם, וזה עלול לגרום לבעיות בסביבת ייצור אם לא תבדקו את התמונה. כדי למקסם את היתרונות של משפחות תמונות ולצמצם את הסיכונים, מומלץ לבדוק את התמונה האחרונה שמופיעה בהפניה ממשפחת התמונות לפני שמשתמשים בה בסביבת הייצור.
לסיכום, אפשר לנסות את הגישה הבאה:
- מגדירים סביבת בדיקה נפרדת מסביבת הייצור.
- בסביבת הבדיקה, מבצעים את השלבים הבאים:
- יוצרים משפחת תמונות בהתאמה אישית ממשפחת תמונות המקור.
- מוודאים שהתמונה החדשה יציבה במשפחת התמונות בהתאמה אישית בהשוואה לעומסי העבודה שלכם.
- אחרי האימות, מעבירים את משפחת התמונות המותאמת אישית לסביבת ייצור.
לדוגמה, התהליך יכול להיות דומה לתהליך הבא.
בפרויקט הבדיקה, יוצרים תמונה ממשפחת תמונות המקור. למשפחה החדשה של מקורות תמונות צריך להיות גם משפחה משלה של תמונות בהתאמה אישית, כדי שאפשר יהיה להפנות אליה בסביבת הבדיקה. כדי ליצור את האימג' עם משפחת אימג' בהתאמה אישית, מריצים את הפקודה הבאה:
gcloud compute images create test-image-name \ --source-image-project source-project \ --source-image-family source-image-family \ --project test-project \ --family test-image-family
מחליפים את מה שכתוב בשדות הבאים:
-
test-image-name: השם של תמונת הבדיקה. -
source-project: הפרויקט שאליו שייכת משפחת תמונות המקור. -
source-image-family: השם של משפחת תמונות המקור. -
test-project: השם של פרויקט הבדיקה שרוצים להוסיף אליו את משפחת התמונות. -
test-image-family: השם של משפחת תמונות הבדיקה.
-
בעזרת משפחת האימג'ים בהתאמה אישית
test-image-family, יוצרים מכונת VM כדי לבדוק את עומס העבודה. כדי ליצור את המכונה הווירטואלית, מריצים את הפקודה הבאה:gcloud compute instances create test-instance-name \ --image-family your-test-image-family \ --project test-project
מחליפים את מה שכתוב בשדות הבאים:
-
test-instance-name: השם של מכונת הבדיקה. -
test-image-family: השם של משפחת תמונות הבדיקה. -
test-project: השם של פרויקט הבדיקה.
-
אחרי שמוודאים שהתמונה מתאימה לעומס העבודה, מעתיקים אותה לסביבת הייצור.
gcloud compute images create prod-image-name \ --source-image-family test-image-family \ --source-image-project test-project \ --project prod-project \ --family prod-image-family
מחליפים את מה שכתוב בשדות הבאים:
-
prod-image-name: השם של תמונת הייצור. -
test-image-family: השם של משפחת תמונות הבדיקה. -
test-project: הפרויקט שאליו שייכת משפחת תמונות הבדיקה. -
prod-project: השם של הפרויקט בסביבת הייצור. -
prod-image-family: השם של משפחת התמונות שרוצים להשתמש בה בסביבת הייצור.
-