בדף הזה מוסבר איך להשתמש בהגדרה של כל המופעים כדי להגדיר מאפייני תוויות ומטא-נתונים לכל מופעי המכונה הווירטואלית (VM) בקבוצת מופעי מכונה מנוהלים (MIG) בלי ליצור תבנית של הגדרות מכונה.
אתם יכולים להמשיך להשתמש בתבניות של הגדרות מכונה כדי להגדיר מאפיינים של מופעי מכונה ב-MIG. עם זאת, יש תרחישים שבהם קל יותר להשתמש בהגדרות של כל המופעים ב-MIG, למשל:
אתם צריכים לעדכן את המטא-נתונים או את התוויות של המופע לעיתים קרובות, בלי ליצור תבניות חדשות בכל פעם. חשוב לזכור שתבניות של מופעים הן בלתי ניתנות לשינוי, כלומר אי אפשר לשנות אותן אחרי שיוצרים אותן.
אתם רוצים ליצור כמה קבוצות של מכונות מנוהלות (MIG) על סמך תבנית של הגדרות מכונה אחת, אבל אתם צריכים להגדיר תוויות או מטא נתונים לכל קבוצה של מכונות מנוהלות באופן שונה. לדוגמה, אם יש לכם אפליקציה אחת אבל אתם רוצים לתמוך בסביבות שונות לפיתוח, לבדיקות ולייצור. אפשר ליצור תבנית של הגדרות מכונה יחידה ולהשתמש בה מחדש בכל הסביבות. לשם כך צריך להגדיר מטא-נתונים שונים עם הגדרה שונה של כל המכונות לכל סביבה.
יש לכם צוות אחד שהוא הבעלים של התשתית והתמונות, וצוות אחר שמריץ אפליקציות שנדרש להגדיר אותן. צוות אחד יכול להקצות תשתית באמצעות תבנית של הגדרות מכונה, וצוות האפליקציה יכול לנהל את הגדרות האפליקציה באמצעות הגדרות של כל המכונות.
יש לכם סוכן שפועל במכונות הווירטואליות ואתם רוצים להגדיר אותו באמצעות מטה-נתונים. אתם רוצים לוודא שההגדרות של סוכן המכונה הווירטואלית יישמרו גם אחרי שינוי תבנית של הגדרות מכונה של הקבוצה. משתמשים בתבנית של הגדרות מכונה כדי לשלוט בגרסת האפליקציה ולהגדיר את סוכן המכונה הווירטואלית באמצעות הגדרה של כל המכונות.
אם מגדירים את אותו מאפיין באמצעות תבנית של הגדרות מכונה בקבוצת ה-MIG וגם באמצעות ההגדרה all-instances, קבוצת ה-MIG נותנת עדיפות לערך מההגדרה all-instances. לדוגמה, אם המטא-נתונים של enable-guest-attributes מוגדרים כ-FALSE בתבנית של הגדרות מכונה של קבוצת המכונות המנוהלות (MIG) וכ-TRUE בהגדרה של כל המכונות בקבוצת המכונות המנוהלות, אז Compute Engine מחיל את TRUE על כל המכונות בקבוצה. כך תוכלו להשתמש בהגדרה של כל המכונות כדי לשנות מאפיינים שמוגדרים בתבנית של הגדרות מכונה.
לפני שמתחילים
- יצירת קבוצת מופעי מכונה מנוהלים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Cloud de Confiance by S3NS
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 .
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות להגדרה ולהחלה של הגדרה לכל המכונות, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות להגדרת תצורה שחלה על כל המכונות ולהחלתה. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי להגדיר ולהחיל תצורה של כל המכונות, צריך את ההרשאות הבאות:
-
כדי לקבל את ה-MIG:
compute.instanceGroupManagers.getבפרויקט -
כדי לעדכן את ההגדרה של כל המופעים בקבוצת ה-MIG:
compute.instanceGroupManagers.updateבפרויקט -
כדי להשתמש בתבנית של הגדרות מכונה כשמעדכנים את ה-MIG:
compute.instanceTemplates.getבפרויקט -
כדי ליצור מופעים עם המאפיינים שצוינו:
compute.instances.createבפרויקט -
כדי להחיל מטא-נתונים על מכונות וירטואליות קיימות:
compute.instances.setMetadataבפרויקט -
כדי להחיל תוויות על מכונות וירטואליות קיימות:
compute.instances.setLabelsבפרויקט
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
מגבלות
אפשר לשנות רק את המאפיינים הבאים של תבנית של הגדרות מכונה באמצעות הגדרה של כל המופעים:
- מטא-נתונים
- תוויות
אי אפשר לעדכן את כל המופעים באמצעות עדכון קנרי. כשמחילים את ההגדרה על הקבוצה, Compute Engine מחיל את המאפיינים על כל המכונות הווירטואליות החדשות, ועל המכונות הווירטואליות הקיימות בהתאם למדיניות העדכון. אם רוצים לקבוע מתי יתעדכנו מקרים קיימים, אפשר להשתמש בעדכונים סלקטיביים.
אם אתם משתמשים בהגדרה עם שמירת מצב ב-MIG, אתם לא יכולים להגדיר את אותה מאפיין בהגדרה לכל מופע וגם בהגדרה של כל המופעים בקבוצה.
הגדרת מאפיינים בהגדרה שחלה על כל המקרים
יוצרים ומעדכנים את ההגדרה של כל המופעים בקבוצת MIG באמצעות ה-CLI של gcloud או REST.
המסוף
נכנסים לדף Instance groups במסוף Cloud de Confiance .
בוחרים את ה-MIG שרוצים להגדיר לו את ההגדרה לכל המופעים.
לוחצים על Edit.
לוחצים על Instance template & overrides (תבנית של הגדרות מכונה ושינויים) כדי להרחיב את הקטע.
בקטע All-instances configuration (הגדרה לכל המופעים), מבצעים את הפעולות הבאות:
- כדי להוסיף או לעדכן ערכים של מטא-נתונים, לוחצים על ניהול מטא-נתונים. משלימים את ההגדרה ולוחצים על שמירה.
- כדי להוסיף או לעדכן תוויות, לוחצים על ניהול תוויות. משלימים את ההגדרה ולוחצים על שמירה.
אחרי שמסיימים להגדיר את הנכסים בהגדרה all-instances, לוחצים על שמירה.
אם סוג העדכון של ה-MIG מוגדר לאוטומטי, ההגדרה all-instances שקבעתם מוחלת באופן מיידי על כל מכונות ה-VM הקיימות. אם סוג העדכון הוא Selective, צריך להחיל את ההגדרה באופן סלקטיבי על מכונות וירטואליות קיימות. מידע נוסף זמין במאמר החלת הגדרה של כל המופעים על מכונות וירטואליות קיימות.
gcloud
כדי להוסיף או לעדכן הגדרה לכל המכונות, משתמשים בפקודה all-instances-config update.
gcloud compute instance-groups managed all-instances-config update INSTANCE_GROUP_NAME \
--metadata=KEY1=VALUE1,KEY2=VALUE2 \
--labels=KEY3=VALUE3,KEY4=VALUE4
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_GROUP_NAME: השם של ה-MIG. -
KEYSו-VALUES: צמדי מפתח/ערך של תוויות או מטא-נתונים. אם המפתח לא קיים, פקודת העדכון מוסיפה אותו. למפתחות קיימים, הערכים שלהם מתעדכנים.
חשוב לזכור להחיל את ההגדרה המעודכנת על מכונות וירטואליות קיימות ב-MIG.
REST
כדי להוסיף או לעדכן הגדרה של כל המופעים, שולחים בקשת PATCH ב-MIG אזורי או אזורי.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
{
"allInstancesConfig": {
"properties": {
"metadata": {
"KEY1": "VALUE1",
...
},
"labels": {
"KEY2": "VALUE2",
...
},
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: הפרויקט שבו קיימת קבוצת ה-MIG. -
REGION: האזור שבו נמצאת קבוצת ה-MIG. ל-MIG אזורי, מחליפים אתregions/REGIONב-zones/ZONE. -
INSTANCE_GROUP_NAME: השם של ה-MIG. -
KEYSו-VALUES: צמדי מפתח/ערך של תוויות או מטא-נתונים. אם המפתח לא קיים, הוא יתווסף לבקשה. אם המפתח כבר קיים, הערך שלו מתעדכן.
חשוב לזכור להחיל את ההגדרה המעודכנת על מכונות וירטואליות קיימות ב-MIG.
החלת הגדרה של כל המכונות על מכונות וירטואליות קיימות
ההגדרה של המכונה הווירטואלית שאתם מציינים למכונות וירטואליות בקבוצת MIG מוחלת באופן אוטומטי על מכונות וירטואליות חדשות שמתווספות לקבוצה.
כדי להחיל על מכונות וירטואליות קיימות בקבוצה קונפיגורציה מעודכנת של מכונה וירטואלית – כולל קונפיגורציה מעודכנת של כל המכונות – משתמשים באחת מהשיטות הבאות:
- אוטומטית (פרואקטיבית): משתמשים בשיטה הזו אם רוצים שקבוצת ה-MIG תחיל באופן אוטומטי הגדרות חדשות על כל המכונות הווירטואליות הקיימות בקבוצה או על קבוצת משנה שלהן. רמת השיבוש במכונות ה-VM הפועלות תלויה במדיניות העדכון שהגדרתם. אפשר להשתמש בשיטה הזו כדי לבצע עדכון קנרי של תבניות חדשות של מכונות. כדי להשתמש בשיטה הזו, צריך להגדיר את סוג העדכון של קבוצת ה-MIG ל'פרואקטיבי'.
- סלקטיבי (אופורטוניסטי): כדאי להשתמש בשיטה הזו אם רוצים להחיל את העדכון באופן ידני או אם רוצים לעדכן את כל מכונות ה-VM הקיימות בקבוצה בבת אחת. אתם יכולים לבחור את כל מכונות ה-VM או רק חלק מהן כדי לעדכן אותן להגדרה האחרונה. כדי להשתמש בשיטה הזו, צריך להגדיר את סוג העדכון של ה-MIG כ'אופורטוניסטי'.
- יצירה מחדש של מכונות וירטואליות: כשיוצרים מחדש מכונה וירטואלית ב-MIG, ה-MIG מחיל את כל ההגדרות המעודכנות שעדיין לא הוחלו על המכונה הווירטואלית הזו. מידע נוסף זמין במאמר בנושא יצירה מחדש של מכונות וירטואליות בקבוצת מופעים מנוהלת (MIG).
אוטומטי (יזום)
אם רוצים להחיל באופן אוטומטי על כל מכונות ה-VM הקיימות עדכון של הגדרת כל המופעים בכל פעם שמבצעים בה שינוי, צריך להגדיר את סוג מדיניות העדכון של הקבוצה כ'פרואקטיבי'. מידע נוסף זמין במאמר בנושא סוג עדכון אוטומטי (פרואקטיבי).
אתם יכולים לשלוט במהירות הפריסה של הגדרות פרואקטיביות באמצעות ההגדרות האופציונליות maxUnavailable, maxSurge ו-minReadySec.
כדי להשתמש בעדכונים יזומים, צריך להגדיר אותם רק פעם אחת. לאחר מכן, קבוצת ה-MIG מחילה באופן אוטומטי את כל השינויים העתידיים בהגדרות של המכונות הווירטואליות (כלומר, שינויים בהגדרות של כל המכונות בקבוצה, בתבנית של הגדרות מכונה ובהגדרות של כל מכונה) על כל המכונות הווירטואליות בקבוצה, על סמך ההגדרות במדיניות העדכון של הקבוצה.
כדי להחיל עדכוני תצורה באופן אוטומטי, משתמשים ב-CLI של gcloud או ב-REST.
gcloud
אפשר להגדיר עדכונים אוטומטיים (פרואקטיביים) באמצעות הפקודה update.
gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \
--update-policy-type=proactive \
--update-policy-max-unavailable=MAX_UNAVAILABLE \
--update-policy-max-surge=MAX_SURGE \
--update-policy-min-ready=MIN_READY \
--update-policy-minimal-action=MINIMAL_ACTION \
--update-policy-replacement-method=REPLACEMENT_METHOD
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_GROUP_NAME: השם של ה-MIG. -
MAX_UNAVAILABLE(אופציונלי): מספר המקרים המקסימלי שבהם יכול להיות שהשירות לא יהיה זמין במהלך העדכון. לדוגמה, אם מגדירים את הדגלupdate-minimal-actionלערךrestart, הדגל הזה מגביל את מספר המכונות הווירטואליות שמופעלות מחדש בכל פעם. אפשר להגדיר מספר קבוע (לדוגמה,5) או אחוז מהגודל של קבוצת מופעי מכונה מנוהלים (לדוגמה,10%). -
MAX_SURGE(אופציונלי): מספר נוסף מקסימלי של מופעים שאפשר ליצור במהלך העדכון. אפשר להגדיר מספר קבוע (לדוגמה,5) או אחוז מהגודל של קבוצת המופעים המנוהלת (לדוגמה,10%). -
MIN_READY(אופציונלי): הזמן המינימלי שצריך לחלוף עד שמכונת VM שהופעלה מחדש או הוחלפה תהיה מוכנה להיחשב כזמינה. לדוגמה,10sלמשך 10 שניות. מידע על פורמטים של משך זמן מופיע במאמר gcloud topic datetimes. -
MINIMAL_ACTION(אופציונלי): פעולה לביצוע בכל מופע במהלך עדכון ההגדרות:-
refresh: החלת ההגדרות החדשות על מופעים פעילים בלי להפעיל אותם מחדש. -
restart: הפעלה מחדש של מכונות וירטואליות במהלך העדכון. האפשרות הזו שימושית אם האפליקציה קוראת מטא-נתונים רק במהלך הפעלה מחדש. -
replace: מחיקת מכונות וירטואליות ויצירת מכונות חדשות כדי להחיל את ההגדרה החדשה.
-
-
REPLACEMENT_METHOD(אופציונלי): מציין איזו פעולה משמשת להחלפת מופע:-
recreate: ממתין למחיקת המכונה הישנה ואז יוצר מכונה חדשה עם אותו שם כמו של המכונה הישנה. -
substitute: יוצר מכונה עם שם חדש ומוחק את המכונה הישנה
-
REST
אפשר להגדיר עדכונים אוטומטיים (פרואקטיביים) על ידי שליחת בקשת PATCH ל-MIG אזורי או אזורי.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
{
"updatePolicy": {
"type": "PROACTIVE",
"maxUnavailable": {
"percent": MAX_UNAVAILABLE
},
"maxSurge": {
"percent": MAX_SURGE
},
"minimalAction": MINIMAL_ACTION,
"replacementMethod": REPLACEMENT_METHOD
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: הפרויקט שבו קיימת קבוצת ה-MIG. -
REGION: האזור שבו נמצאת קבוצת ה-MIG. ל-MIG אזורי, מחליפים אתregions/REGIONב-zones/ZONE. -
INSTANCE_GROUP_NAME: שם ה-MIG. -
MAX_UNAVAILABLE(אופציונלי): מספר המקרים המקסימלי שבהם יכול להיות שהשירות לא יהיה זמין במהלך העדכון. לדוגמה, אם מגדירים את הדגלupdate-minimal-actionלערךRESTART, הדגל הזה מגביל את מספר המכונות הווירטואליות שמופעלות מחדש בכל פעם. אפשר להגדיר לתקציב אחוז (לדוגמה,"percent": 80ל-80%) או מספר קבוע. כדי לציין מספר קבוע, מחליפים את"percent": MAX_UNAVAILABLEב-"fixed": MAX_UNAVAILABLE. -
MAX_SURGE(אופציונלי): מספר נוסף מקסימלי של מופעים שאפשר ליצור במהלך העדכון. ההנחה יכולה להיות באחוזים או בסכום קבוע. -
MINIMAL_ACTION(אופציונלי): פעולה לביצוע בכל מופע במהלך עדכון ההגדרות:-
REFRESH: החלת ההגדרות החדשות על מופעים פעילים בלי להפעיל אותם מחדש. -
RESTART: הפעלה מחדש של מכונות וירטואליות במהלך העדכון. האפשרות הזו שימושית אם האפליקציה קוראת מטא-נתונים רק במהלך הפעלה מחדש. -
REPLACE: מחיקת מכונות וירטואליות ויצירת מכונות חדשות כדי להחיל את ההגדרה החדשה.
-
-
REPLACEMENT_METHOD(אופציונלי): מציין איזו פעולה משמשת להחלפת מופע:-
RECREATE: ממתין למחיקת המכונה הישנה ואז יוצר מכונה חדשה עם אותו שם כמו של המכונה הישנה. -
SUBSTITUTE: יוצר מכונה עם שם חדש ומוחק את המכונה הישנה
-
כשמשמיטים דגלים אופציונליים, הקבוצה משתמשת בערכים במדיניות העדכון של הקבוצה. אפשר לבדוק את מדיניות העדכון באמצעות ה-CLI של gcloud או REST.
סלקטיבי (אופורטוניסטי)
אם רוצים לקבוע מתי להחיל הגדרה חדשה על מכונות VM ועל אילו מכונות, צריך להגדיר את סוג מדיניות העדכון של הקבוצה כ'אופורטוניסטי'. מידע נוסף זמין במאמר בנושא סוג עדכון סלקטיבי (אופורטוניסטי).
כשבוחרים להחיל עדכוני הגדרה באופן סלקטיבי, שינויים בהגדרות של כל המופעים בקבוצה, בתבנית של הגדרות מכונה או בהגדרות של כל מופע לא מוחלים באופן אוטומטי על מכונות וירטואליות קיימות. כדי לעדכן מכונות וירטואליות קיימות, צריך להחיל עליהן באופן מפורש הגדרה מעודכנת.
כדי להחיל עדכונים של הגדרות מכונות וירטואליות באופן סלקטיבי על מכונות וירטואליות ב-MIG, משתמשים ב-CLI של gcloud או ב-REST.
gcloud
אפשר להגדיר עדכונים סלקטיביים (אופורטוניסטיים) באמצעות הפקודה update:
gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \
--update-policy-type=opportunisticכשמגדירים את סוג העדכון של הקבוצה ל-opportunistic, צריך להפעיל את העדכון כשרוצים להחיל את ההגדרה החדשה על מכונות וירטואליות קיימות.
החלת הגדרה על מכונות וירטואליות ספציפיות
כדי לעדכן מכונות נבחרות, משתמשים בפקודה הבאה:
gcloud compute instance-groups managed update-instances INSTANCE_GROUP_NAME \
--instances INSTANCE_NAMES \
--minimal-action=MINIMAL_ACTION \
--most-disruptive-allowed-action=MOST_DISRUPTIVE_ALLOWED_ACTION
החלת ההגדרה על כל המכונות הווירטואליות
כדי לעדכן את כל המכונות הקיימות, משתמשים בפקודה הבאה:
gcloud compute instance-groups managed update-instances INSTANCE_GROUP_NAME \
--all-instances \
--minimal-action=MINIMAL_ACTION \
--most-disruptive-allowed-action=MOST_DISRUPTIVE_ALLOWED_ACTION
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_GROUP_NAME: שם ה-MIG. -
INSTANCE_NAMES: רשימה של מופעים שרוצים להחיל עליהם את התבנית. -
MINIMAL_ACTION(אופציונלי): פעולה לביצוע בכל מופע במהלך עדכון ההגדרות שלו:-
refresh(ברירת מחדל): החלת ההגדרה החדשה על מופעים פעילים בלי להפעיל אותם מחדש. -
restart: הפעלה מחדש של מכונות וירטואליות במהלך העדכון. האפשרות הזו שימושית אם האפליקציה קוראת מטא-נתונים רק במהלך הפעלה מחדש. -
replace: מחיקת מכונות וירטואליות ויצירת מכונות חדשות כדי להחיל את ההגדרה החדשה.
-
-
MOST_DISRUPTIVE_ALLOWED_ACTION(אופציונלי): מבצעים לכל היותר את הפעולה הזו בכל מופע. אם עדכון ההגדרה דורש פעולה משבשת יותר מזו שצוינה כאן, העדכון ייכשל ולא יבוצעו שינויים.none: אין פעולה-
refresh: הפעלת ההגדרה החדשה בלי לעצור את המכונות, אם אפשר. לדוגמה, אפשר להשתמש ב-refreshכדי להחיל שינויים שמשפיעים רק על מטא-נתונים או על דיסקים נוספים. -
restart: החלת ההגדרה החדשה בלי להחליף מופעים, אם אפשר. לדוגמה, כדי להחיל שינויים בסוג המכונה, מספיק לעצור את המכונות ולהפעיל אותן מחדש. -
replace: החלפת מופעים ישנים בהתאם לדגל--replacement-method.
REST
כדי להגדיר עדכונים סלקטיביים (אופורטוניסטיים), שולחים בקשה ל-MIG אזורי או אזורי.PATCH
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
{
"updatePolicy": {
"type": "OPPORTUNISTIC"
}
}כשמגדירים את סוג העדכון של הקבוצה ל-OPPORTUNISTIC, צריך להפעיל את העדכון כשרוצים להחיל את ההגדרה החדשה על מכונות וירטואליות קיימות.
החלת הגדרה על מכונות וירטואליות ספציפיות
כדי לעדכן מקרים ספציפיים, משתמשים בבקשה הבאה:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/applyUpdatesToInstances
{
"instances": [
"zones/ZONE/instances/INSTANCE_NAME_1",
"zones/ZONE/instances/INSTANCE_NAME_2"
],
"minimalAction": MINIMAL_ACTION,
"mostDisruptiveAllowedAction": MOST_DISRUPTIVE_ALLOWED_ACTION
}החלת ההגדרה על כל המכונות הווירטואליות
כדי לעדכן את כל המקרים הקיימים, משתמשים בבקשה הבאה:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/applyUpdatesToInstances
{
"allInstances": true,
"minimalAction": MINIMAL_ACTION,
"mostDisruptiveAllowedAction": MOST_DISRUPTIVE_ALLOWED_ACTION
}מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: הפרויקט שבו קיימת קבוצת ה-MIG. -
REGION: האזור שבו נמצאת קבוצת ה-MIG. ל-MIG אזורי, מחליפים אתregions/REGIONב-zones/ZONE. -
INSTANCE_GROUP_NAME: שם ה-MIG. -
MINIMAL_ACTION(אופציונלי): פעולה לביצוע בכל מופע במהלך עדכון ההגדרות:-
REFRESH: החלת ההגדרות החדשות על מופעים פעילים בלי להפעיל אותם מחדש. -
RESTART: הפעלה מחדש של מכונות וירטואליות במהלך העדכון. האפשרות הזו שימושית אם האפליקציה קוראת מטא-נתונים רק במהלך הפעלה מחדש. -
REPLACE: מחיקת מכונות וירטואליות ויצירת מכונות חדשות כדי להחיל את ההגדרה החדשה.
-
-
MOST_DISRUPTIVE_ALLOWED_ACTION(אופציונלי): מבצעים לכל היותר את הפעולה הזו בכל מופע. אם עדכון ההגדרה דורש פעולה משבשת יותר מזו שצוינה כאן, העדכון ייכשל ולא יבוצעו שינויים.NONE: אין פעולה-
REFRESH: הפעלת ההגדרה החדשה בלי לעצור את המכונות, אם אפשר. לדוגמה, אפשר להשתמש ב-REFRESHכדי להחיל שינויים שמשפיעים רק על מטא-נתונים או על דיסקים נוספים. -
RESTART: החלת ההגדרות החדשות בלי להחליף מופעים, אם אפשר. לדוגמה, כדי להחיל שינויים בסוג המכונה, מספיק לעצור את המכונות ולהפעיל אותן מחדש. -
REPLACE: החלפת מופעים ישנים בהתאם לשדהupdatePolicy.replacementMethodשל הקבוצה.
בדיקה אם הוחלה הגדרה מעודכנת של כל המופעים
כדי לוודא שההגדרה העדכנית של כל המופעים הוחלה על כל מכונות ה-VM בקבוצה, אפשר להשתמש באחת מהשיטות הבאות.
המסוף
נכנסים לדף Instance groups במסוף Cloud de Confiance .
בוחרים את ה-MIG שרוצים לראות את ההגדרה של כל המופעים שלו.
עוברים לכרטיסייה פרטים.
אם ההגדרה האחרונה של כל המכונות הווירטואליות חלה על כל המכונות הווירטואליות, אז בקטע All instances configuration, חותמת הזמן Last modified והשדה Status צריכים להציג את הערכים הבאים:
- השינוי האחרון: מציג את השעה שבה החלתם את ההגדרה של כל המופעים על כל מכונות ה-VM.
- סטטוס: מוצג הוחל על כל המכונות הווירטואליות. אם התיוג all-instances לא חל על כל המכונות הווירטואליות, הסטטוס יהיה Pending VM update.
gcloud
משתמשים בפקודה describe וכוללים את הדגל --format כדי לחפש את הערך status.allInstancesConfig.effective.
gcloud compute instance-groups managed describe INSTANCE_GROUP_NAME \
--format="(status.allInstancesConfig)"פלט לדוגמה:
status:
allInstancesConfig:
currentRevision: 2022-12-02T10:30:15.012345Z
effective: trueאם הערך של effective מוגדר כ-true, ההגדרה העדכנית ביותר חלה על כל המכונות הווירטואליות. הערך currentRevision מציג את חותמת הזמן של השינוי האחרון שבוצע בהגדרת כל המופעים של הקבוצה.
אם הערך של effective מוגדר כ-false, ההגדרה האחרונה עדיין לא חלה על כל מכונות ה-VM.
כדי לבדוק את הסטטוס של כל מכונה וירטואלית, אפשר לראות רשימה של כל המכונות הווירטואליות בקבוצת ה-MIG או לבדוק כל מכונה וירטואלית בנפרד באמצעות הפקודה describe-instance:
gcloud compute instance-groups managed describe-instance INSTANCE_GROUP_NAME \
--instance INSTANCE_NAMEפלט לדוגמה:
allInstancesConfig: revision: 2022-12-02T10:30:15.012345Z currentAction: NONE id: '8393021473297481188' instance: .../projects/PROJECT/zones/ZONE/instances/INSTANCE_NAME instanceStatus: RUNNING name: INSTANCE_NAME version: instanceTemplate: .../projects/PROJECT/global/instanceTemplates/INSTANCE_TEMPLATE
כדי לראות באילו מכונות וירטואליות הוחלה ההגדרה האחרונה, משווים את חותמת הזמן revision בכל מכונה וירטואלית עם חותמת הזמן currentRevision ב-MIG.
REST
שולחים בקשת GET אל מכונת MIG אזורית או תחומית כדי לבדוק את הערך של הדגל status.allInstancesConfig.effective.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
דוגמה לתשובה:
{
...
"status": {
"isStable": "true",
"versionTarget": {
"isReached": "true"
},
"allInstancesConfig": {
"currentRevision": "2022-12-02T10:30:15.012345Z",
"effective": "true"
},
...
},
...
}אם השדה effective מוגדר לערך true, התצורה העדכנית ביותר חלה על כל המכונות הווירטואליות. בשדה currentRevision מוצגת חותמת הזמן של השינוי האחרון בהגדרות של כל המופעים בקבוצה.
אם השדה effective מוגדר לערך false, סימן שההגדרה האחרונה עדיין לא הוחלה על כל המכונות הווירטואליות.
כדי לבדוק את הסטטוס של כל מופע, מציגים רשימה של קבוצות מנוהלות של מופעים (MIG) אזוריות או אזוריות:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/listManagedInstances
פלט לדוגמה:
{
"managedInstances": [
...
{
"instance": ".../zones/ZONE/instances/INSTANCE_NAME",
"instanceStatus": "RUNNING",
"currentAction": "NONE",
"allInstancesConfig": {
"revision": "2022-12-02T10:30:15.012345Z"
},
"version": {
"name": "V1",
"instanceTemplate": ".../projects/.../instanceTemplates/INSTANCE_TEMPLATE"
}
},
{
...
}
]
}
כדי לראות באילו מכונות וירטואליות הוחלה ההגדרה האחרונה, משווים את חותמת הזמן revision בכל מכונה וירטואלית עם חותמת הזמן currentRevision ב-MIG.
הצגת רשימת מאפיינים בהגדרה של כל המופעים
הגדרה של כל המופעים היא חלק מההגדרה של ה-MIG. כדי לבדוק את ההגדרה של כל המכונות, משתמשים באחת מהשיטות הבאות.
המסוף
נכנסים לדף Instance groups במסוף Cloud de Confiance .
בוחרים את ה-MIG שרוצים לראות את ההגדרה של כל המופעים שלו.
עוברים לכרטיסייה פרטים.
אפשר לעיין בקטע הגדרת כל המופעים.
gcloud
משתמשים בפקודה describe וכוללים את הדגל --format כדי להציג את ערך ההגדרה של כל המופעים של הקבוצה.
gcloud compute instance-groups managed describe INSTANCE_GROUP_NAME \
--format="(allInstancesConfig)"הפקודה מחזירה את ההגדרה של כל המופעים של הקבוצה, אם היא קיימת.
REST
מגישים בקשת GET ב-MIG אזורי או אזורי ומחפשים את השדה allInstancesConfig.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
אם השדה allInstancesConfig לא מוגדר, לקבוצה אין הגדרה לכל המופעים.
מחיקת מאפיינים מההגדרה של כל המופעים
אם מוחקים מאפיין מההגדרה של כל המכונות בקבוצת ה-MIG, והמאפיין הזה קיים בתבנית של הגדרות המכונה בקבוצת ה-MIG, המכונות הווירטואליות בקבוצת ה-MIG יקבלו שוב את המאפיין הזה מהתבנית של הגדרות המכונה אחרי שההגדרה האחרונה תוחל על המכונות הווירטואליות בקבוצת ה-MIG. מידע נוסף על החלת ההגדרה האחרונה על מכונות וירטואליות קיימות זמין במאמר החלת הגדרה של כל המופעים על מכונות וירטואליות קיימות.
כדי למחוק מאפיינים מהגדרה של כל המופעים, אפשר להשתמש באחת מהשיטות הבאות.
המסוף
נכנסים לדף Instance groups במסוף Cloud de Confiance .
בוחרים את ה-MIG שממנו רוצים למחוק את ההגדרה של כל המופעים.
לוחצים על Edit.
לוחצים על Instance template & overrides (תבנית של הגדרות מכונה ושינויים) כדי להרחיב את הקטע.
בקטע All-instances configuration (הגדרה לכל המופעים), מבצעים את הפעולות הבאות:
- בהתאם למאפיין שרוצים למחוק, לוחצים על ניהול מטא-נתונים או על ניהול תוויות.
- בחלונית ניהול מטא נתונים או ניהול תוויות, מעבירים את מצביע העכבר מעל הגדרה כדי להפעיל את אפשרות המחיקה, ואז לוחצים על מחיקת הפריט.
- לוחצים על Save.
לוחצים על שמירה כדי להחיל את השינויים על ה-MIG.
אם סוג העדכון של ה-MIG מוגדר לאוטומטי, השינויים בהגדרות של כל המופעים יחולו באופן מיידי על כל מכונות ה-VM הקיימות. אם סוג העדכון הוא Selective, צריך להחיל את ההגדרה באופן סלקטיבי על מכונות וירטואליות קיימות. מידע נוסף זמין במאמר החלת הגדרה של כל המופעים על מכונות וירטואליות קיימות.
gcloud
כדי למחוק מאפיינים, משתמשים בפקודה all-instances-configuration delete ומציינים מפתח אחד או יותר של המאפיינים שרוצים למחוק.
gcloud compute instance-groups managed all-instances-config delete INSTANCE_GROUP_NAME \
--metadata=KEY1[, KEY1]\
--labels=KEY1[, KEY1]חשוב לזכור להחיל את ההגדרה המעודכנת על מכונות וירטואליות קיימות ב-MIG.
REST
כדי למחוק מאפיינים, שולחים בקשת PATCH ב-MIG אזורי או אזורי ומציינים ערך null כמפתח לכל מאפיין שרוצים להסיר.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
{
"allInstancesConfig": {
"properties": {
"metadata": {
"KEY1": null,
...
},
"labels": {
"KEY2": null,
...
}
}
}
}חשוב לזכור להחיל את ההגדרה המעודכנת על מכונות וירטואליות קיימות ב-MIG.
המאמרים הבאים
- מידע נוסף על החלת עדכון של הגדרה על מכונות וירטואליות קיימות ב-MIG
- מידע נוסף על החלה סלקטיבית של עדכוני הגדרה על מכונות וירטואליות קיימות ב-MIG
- הצגת מידע על קבוצת ה-MIG והמכונות הווירטואליות שלה.