במאמר הזה מוסבר איך להגדיר את ה-MIG כך שיחיל את תבנית של הגדרות מכונה העדכנית ואת ההגדרות לכל מכונה כשיוצר מחדש מכונה וירטואלית במהלך פעולות תיקון. החלת התצורה הזמינה העדכנית ביותר במהלך פעולת תיקון נקראת גם עדכון במהלך תיקון. במסמך הזה מוסבר גם איך לבדוק אם האפשרות 'עדכון במהלך תיקון' מופעלת ב-MIG שלכם, ואם היא מופעלת, איך להשבית אותה.
במהלך תיקון, קבוצת ה-MIG יוצרת מחדש מכונה וירטואלית באמצעות אותה הגדרת מופע ששימשה במקור ליצירת המכונה הוירטואלית. אם יש עדכונים לתבנית של מופע הקבוצה או להגדרות של כל מופע, יש לכם אפשרות להחיל את השינויים האלה על מכונה וירטואלית שנמצאת בתהליך תיקון.
אם רוצים להחיל עדכוני הגדרות באופן אוטומטי על כל המכונות הווירטואליות או על קבוצה של מכונות וירטואליות (PROACTIVE), או לעדכן באופן סלקטיבי מופעים ספציפיים (OPPORTUNISTIC), אפשר לעיין במאמר החלת הגדרות חדשות על מכונות וירטואליות בקבוצת מופעי מכונה מנוהלים (MIG).
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי 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 .
הגדרת עדכון לאחר תיקון
כדי להגדיר עדכון בתיקון, משתמשים במסוף Google Cloud , ב-CLI של gcloud או ב-REST.
המסוף
נכנסים לדף Instance groups במסוף Google Cloud .
לוחצים על השם של קבוצת ה-MIG שרוצים להגדיר בה עדכון לאחר תיקון.
לוחצים על עריכה כדי לשנות את ה-MIG.
לוחצים על Instance lifecycle and autohealing (מחזור החיים של מופע ותיקון אוטומטי) כדי להרחיב את הקטע.
בקטע Updates during VM instance repair (עדכונים במהלך תיקון של מכונה וירטואלית), בוחרים באפשרות Update the instance configuration (עדכון הגדרות המכונה).
לוחצים על Save.
gcloud
אם כבר יש לכם MIG, משתמשים בפקודה update:
gcloud compute instance-groups managed update MIG_NAME \
--force-update-on-repair
כדי ליצור קבוצת MIG חדשה, משתמשים בפקודה create:
gcloud compute instance-groups managed create MIG_NAME \
--template INSTANCE_TEMPLATE_URL_ \
--size SIZE \
--force-update-on-repair
מחליפים את מה שכתוב בשדות הבאים:
-
MIG_NAME: השם של קבוצת המכונות. -
INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית של הגדרות מכונה שרוצים להשתמש בה כדי ליצור מכונות ב-MIG. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:- לתבנית של הגדרות מכונה אזורית:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - לתבנית גלובלית של הגדרות מכונה:
INSTANCE_TEMPLATE_ID
- לתבנית של הגדרות מכונה אזורית:
-
SIZE: גודל היעד של קבוצת המופעים.
REST
כדי להשתמש ב-MIG אזורי קיים, משתמשים בשיטה instanceGroupManagers.patch. כדי להשתמש ב-MIG אזורי קיים, משתמשים בשיטה regionInstanceGroupManagers.patch.
כדי להגדיר עדכון בתיקון ב-MIG אזורי קיים, מבצעים את הקריאה הבאה:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
{
"instanceLifecyclePolicy": {
"forceUpdateOnRepair": YES
}
}
כדי ליצור קבוצת MIG אזורית חדשה, משתמשים בשיטה instanceGroupManagers.insertregionInstanceGroupManagers.insert.
כדי להגדיר עדכון בתיקון כשיוצרים קבוצת מופעים מנוהלת אזורית, מפעילים את הקריאה הבאה:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
{
"name": "MIG_NAME",
"instanceTemplate": "INSTANCE_TEMPLATE_URL",
"targetSize": SIZE,
"instanceLifecyclePolicy": {
"forceUpdateOnRepair": YES
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
ZONE: האזור שבו נמצאת קבוצת ה-MIG. -
MIG_NAME: השם של קבוצת המכונות. -
INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית של הגדרות מכונה שרוצים להשתמש בה כדי ליצור מכונות ב-MIG. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:- לתבנית של הגדרות מכונה אזורית:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - לתבנית גלובלית של הגדרות מכונה:
INSTANCE_TEMPLATE_ID
- לתבנית של הגדרות מכונה אזורית:
-
SIZE: גודל היעד של קבוצת המופעים.
איך בודקים אם האפשרות 'עדכון לאחר תיקון' מופעלת
כברירת מחדל, קבוצת מופעים מנוהלת לא מעדכנת מכונה וירטואלית במהלך תיקון. כדי לבדוק אם האפשרות 'עדכון לאחר תיקון' מופעלת עבור קבוצת ה-MIG, משתמשים במסוף Google Cloud , ב-CLI של gcloud או ב-REST כדי לראות את ההגדרה של 'עדכון לאחר תיקון'.
המסוף
נכנסים לדף Instance groups במסוף Google Cloud .
לוחצים על השם של קבוצת ה-MIG שרוצים לבדוק את ההגדרה שלה.
לוחצים על הכרטיסייה פרטים.
בקטע VM instance lifecycle, בודקים את האפשרות שנבחרה בשדה Updates during VM instance repair. אם בשדה מופיעה האפשרות עדכון הגדרות המופע, סימן שהעדכון במהלך התיקון מופעל.
gcloud
משתמשים בפקודה describe באופן הבא:
gcloud compute instance-groups managed describe MIG_NAME \ --format="(instanceLifecyclePolicy)"
בודקים את השדה forceUpdateOnRepair בגוף התשובה. השדה הזה מכיל אחד מהערכים הבאים:
-
NO: ברירת מחדל. קבוצות MIG לא מעדכנות מכונות וירטואליות כשהן מתוקנות. -
YES: קבוצת ה-MIG מעדכנת את המכונות הווירטואליות במהלך התיקון שלהן.
זו דוגמה לפלט:
instanceLifecyclePolicy: forceUpdateOnRepair: YES
REST
כדי להוסיף מופע ל-MIG אזורי, משתמשים בשיטה instanceGroupManagers.get. כדי להוסיף מופע ל-MIG אזורי, משתמשים בשיטה regionInstanceGroupManagers.get.
לדוגמה, ב-MIG אזורי, משתמשים בפקודה הבאה:
GET https://compute.googleapis.com/compute/v1/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
בגוף התגובה, בודקים את השדה instanceLifecyclePolicy.forceUpdateOnRepair, שמכיל אחד מהערכים הבאים:
-
NO: ברירת מחדל. קבוצות MIG לא מעדכנות מכונות וירטואליות כשהן מתוקנות. -
YES: קבוצת ה-MIG מעדכנת את המכונות הווירטואליות במהלך התיקון שלהן.
זוהי דוגמה לתשובה:
{
...
"name": "example-mig",
"targetSize": 12,
...
"instanceLifecyclePolicy": {
"forceUpdateOnRepair": "YES"
},
...
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
ZONE: האזור שבו נמצאת קבוצת ה-MIG. -
MIG_NAME: השם של קבוצת המכונות.
השבתת העדכון במהלך התיקון
כשקבוצת ה-MIG מתקנת מכונה וירטואלית, אם רוצים שהיא תשתמש בתבנית המקורית של המכונה או בהגדרות לכל מכונה ששימשו ליצירת המכונה הווירטואלית, צריך להשבית את העדכון במהלך התיקון. כברירת מחדל, האפשרות לעדכן אחרי תיקון מושבתת ב-MIG.
משתמשים במסוף Google Cloud , ב-CLI של gcloud או ב-REST כדי להשבית את העדכון בתיקון.
המסוף
נכנסים לדף Instance groups במסוף Google Cloud .
לוחצים על השם של קבוצת ה-MIG שבה רוצים להשבית את העדכון במהלך תיקון.
לוחצים על עריכה כדי לשנות את ה-MIG.
לוחצים על Instance lifecycle and autohealing (מחזור החיים של מופע ותיקון אוטומטי) כדי להרחיב את הקטע.
בקטע Updates during VM instance repair (עדכונים במהלך תיקון של מופע VM), בוחרים באפשרות Keep the same instance configuration (שמירה של אותה הגדרת מופע).
לוחצים על Save.
gcloud
משתמשים בפקודה update כדי להגדיר את הדגל --no-force-update-on-repair באופן הבא:
gcloud compute instance-groups managed update MIG_NAME \
--no-force-update-on-repair
REST
כדי להוסיף מופע ל-MIG אזורי, משתמשים בשיטה instanceGroupManagers.patch. כדי להוסיף מופע ל-MIG אזורי, משתמשים בשיטה regionInstanceGroupManagers.patch.
לדוגמה, כדי להשבית את העדכון בתיקון של קבוצת MIG אזורית, משתמשים בפקודה הבאה:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
{
"instanceLifecyclePolicy":
{ "forceUpdateOnRepair": NO
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
ZONE: האזור שבו נמצאת קבוצת ה-MIG. -
MIG_NAME: השם של קבוצת המכונות.
המאמרים הבאים
- הגדרה של בדיקת תקינות של אפליקציה ותיקון אוטומטי
- אם הגדרתם בדיקת תקינות מבוססת-אפליקציה עבור ה-MIG, עקבו אחרי שינויים במצב התקינות של המכונות הווירטואליות.