בדף הזה מוסבר איך לבדוק את ההשפעות של מדיניות תחזוקת המארח של מכונת Compute Engine על האפליקציות שלכם.
אתם יכולים לבצע סימולציה של אירוע תחזוקה במכונות הווירטואליות כדי לבדוק את הדברים הבאים:
- ההשפעות של מיגרציה פעילה על האפליקציות שלכם.
- איך האפליקציות והמשימות באצווה מטפלות בהפסקת פעולה ובכיבוי כשמשתמשים במכונות Spot VM אחת או יותר.
- איך האפליקציות מטפלות בתהליך של כיבוי והפעלה מחדש של מכונות וירטואליות שהוגדרו לסיום והפעלה מחדש במהלך אירועי תחזוקה, במקום לבצע העברה פעילה.
- איך עומסי עבודה שפועלים בשרתים לדייר יחיד מתנהגים במהלך אירוע תחזוקה של המארח, ומה ההשפעות של מדיניות התחזוקה של המארח של מכונת ה-VM בשרת לדייר יחיד על האפליקציות שפועלות במכונות ה-VM.
אם מנסים לדמות אירוע תחזוקה של מארח במופע שלא תומך במיגרציה פעילה, המופע מסתיים או מופעל מחדש, בהתאם למדיניות תחזוקת המארח שהוגדרה.
לפני שמתחילים
- מידע נוסף זמין במאמר בנושא מגבלת קצב בקשות אזורית של API ל-
SimulateMaintenanceEventRequestsPerMinutePerProjectPerRegion. -
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי 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 .
מגבלות
- כדי לבצע סימולציה נכונה של אירוע תחזוקה בקבוצת שרתים לדייר יחיד שמוגדרת בה מדיניות תחזוקת מארח עם הערך העברה בתוך קבוצת הצמתים, צריך להפעיל את אירוע התחזוקה באופן עקבי בכל צומת.
- בקבוצת צמתים עם דייר יחיד, כשמנסים לדמות אירוע תחזוקת מארח ומוגדרת בקבוצת הצמתים מדיניות תחזוקת מארח להעברה בתוך קבוצת הצמתים:
- אם מספר הצמתים שצוין קטן ממספר הצמתים הכולל של ההמתנה או שווה לו, סימולציית אירוע תחזוקת המארח תפעל עבור כל הצמתים שצוינו בו-זמנית.
- אם מספר הצמתים שצוין גדול ממספר הצמתים הכולל של קבוצת ההשוואה שהוקצו, הסימולציה תיכשל.
- מספר הסימולציות של אירועי תחזוקה שאפשר להפעיל בדקה בכל אזור מוגבל על ידי מגבלת קצב העברת הנתונים של ה-API עבור המדד
simulate_maintenance_event_requests_per_region.
סימולציה של אירועי תחזוקה של המארח כדי לבדוק מיגרציה פעילה
אתם יכולים לדמות אירוע תחזוקה למכונת Compute באמצעות Google Cloud CLI או בקשת API. האירוע המדומה הזה כולל את פעילויות התחזוקה השונות שמתרחשות באירוע תחזוקה רגיל. כך תוכלו לראות את התהליך מקצה לקצה ולבדוק את האוטומציה שהטמעתם.
במהלך סימולציה של אירוע תחזוקה של מארח עבור מופע שמשתמש בהעברה פעילה, מפתח המטא-נתונים maintenance-event של המופע עובר את השינויים הבאים:
- בתחילת הסימולציה, הערך של מפתח המטא-נתונים
maintenance-eventמשתנה מ-NONEל-MIGRATE_ON_HOST_MAINTENANCE. - במהלך אירוע הסימולציה, הערך נשאר
MIGRATE_ON_HOST_MAINTENANCE. - אחרי שהסימולציה מסתיימת, הערך חוזר ל-
NONE.
כדי לבצע שאילתה לגבי מפתח אירוע התחזוקה, אפשר לעיין במאמר בנושא ביצוע שאילתה לגבי מפתח המטא-נתונים של אירוע התחזוקה.
gcloud
משתמשים בפקודה compute instances simulate-maintenance-event כדי לדמות אירוע תחזוקה של מכונה ולבדוק את הגדרות המדיניות שהוגדרו לתחזוקת המארח:
gcloud compute instances simulate-maintenance-event INSTANCE_NAME \
--zone=ZONE --with-extended-notifications=True
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME: השם של מופע Compute שבו רוצים לדמות את אירוע התחזוקה.אפשר לציין כמה שמות של מופעים, מופרדים ברווחים בודדים, כדי לדמות אירועי תחזוקה ביותר ממופע אחד באותו אזור. לדוגמה,
instance-1 instance-2 instance-3.
ZONE: האזור שבו נמצאת המכונה.
REST
שליחת בקשת POST אל ה-method compute.instances.simulateMaintenanceEvent:
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/simulateMaintenanceEvent
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של הבקשה הזו. -
INSTANCE_NAME: השם של המכונה שרוצים לדמות את אירוע התחזוקה שלה. -
ZONE: האזור שבו נמצאת המכונה.
סימולציה של תחזוקת מארח למכונות וירטואליות שמופסקות
אתם יכולים לדמות אירוע תחזוקה למכונת Compute באמצעות Google Cloud CLI או בקשת API. האירוע המדומה הזה כולל את פעילויות התחזוקה השונות שמתרחשות באירוע תחזוקה רגיל. כך תוכלו לעקוב אחרי התהליך מקצה לקצה ולבדוק את האוטומציה שהטמעתם.
בנוסף, באמצעות הפרמטר --with-extended-notifications עם סוג מכונה נתמך, אפשר לבדוק באופן ידני את התחלת התחזוקה של המארח במהלך האירוע המדומה.
gcloud
כדי לדמות אירוע תחזוקה של מכונה ולבדוק את הגדרות המדיניות שהוגדרו לגבי תחזוקת המארח, משתמשים בפקודה
compute instances simulate-maintenance-event. אפשר גם להוסיף את הדגל--with-extended-notifications.gcloud compute instances simulate-maintenance-event INSTANCE_NAME \ --zone=ZONE --with-extended-notifications=True
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME: השם של מופע Compute שבו רוצים לדמות את אירוע התחזוקה.אפשר לציין כמה שמות של מופעים, מופרדים ברווחים בודדים, כדי לדמות אירועי תחזוקה ביותר ממופע אחד באותו אזור. לדוגמה,
instance-1 instance-2 instance-3.
ZONE: האזור שבו נמצאת המכונה.
אופציונלי: כדי להפעיל ידנית את סימולציה של אירוע תחזוקה, משתמשים בפקודה
compute instances perform-maintenance.gcloud compute instances perform-maintenance INSTANCE_NAME \ --zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME: השם של מופע Compute שבו רוצים לדמות את אירוע התחזוקה.אפשר לציין כמה שמות של מופעים, מופרדים ברווחים בודדים, כדי לדמות אירועי תחזוקה ביותר ממופע אחד באותו אזור. לדוגמה,
instance-1 instance-2 instance-3.
ZONE: האזור שבו נמצאים המופעים.
REST
יוצרים בקשת
POSTאל ה-methodcompute.instances.simulateMaintenanceEvent. אפשר גם לכלול את פרמטר השאילתהwithExtendedNotifications.POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/simulateMaintenanceEvent?withExtendedNotifications=True
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של הבקשה הזו. -
INSTANCE_NAME: השם של המכונה שרוצים לדמות את אירוע התחזוקה שלה. -
ZONE: האזור שבו נמצאת המכונה.
-
אופציונלי: כדי להתחיל ידנית את סימולציה של אירוע תחזוקה, צריך ליצור בקשת
POSTל-methodcompute.instances.performMaintenance.POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/performMaintenance
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME: השם של מופע Compute שבו רוצים להתחיל את אירוע התחזוקה.אפשר לציין כמה שמות של מופעים בהפרדה של רווחים בודדים כדי לבצע אירועי תחזוקה ביותר ממופע אחד באותו אזור. לדוגמה,
instance-1 instance-2 instance-3.
ZONE: האזור שבו נמצאים המופעים.
סימולציה של אירועי תחזוקה של מארחים בשרתים לדייר יחיד
אתם יכולים לדמות אירוע תחזוקה של מארח בצמתים של דייר יחיד באמצעות Google Cloud CLI או בקשת API. במהלך הסימולציה של אירוע תחזוקה של המארח במכונה וירטואלית עם דייר יחיד, הערך של מפתח המטא-נתונים maintenance-event לא משתנה ונשאר NONE לאורך כל הסימולציה.
gcloud
מריצים את הפקודה sole-tenancy node-groups simulate-maintenance-event כדי לאלץ צמתים של דייר יחיד להפעיל את מדיניות התחזוקה שהוגדרה להם:
gcloud compute sole-tenancy node-groups simulate-maintenance-event NODE_GROUP \
--nodes=NODE_NAMES \
--zone=ZONE \
--async
מחליפים את מה שכתוב בשדות הבאים:
NODE_GROUP: השם של קבוצת הצמתים שבה רוצים לדמות את אירוע התחזוקה.
NODE_NAMES: שמות הצמתים שבהם רוצים לדמות את אירוע התחזוקה. כשמציינים כמה שמות של צמתים, צריך להשתמש בערכים מופרדים בפסיקים, למשל,node-1,node-2,node-3.
ZONE: האזור שבו נמצאים הצמתים.
REST
שליחת בקשת POST אל ה-method compute.nodeGroups.simulateMaintenanceEvent:
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/nodeGroups/NODE_GROUP/simulateMaintenanceEvent
{
"nodes": [
"NODE_NAMES"
]
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של הבקשה הזו. -
ZONE: האזור שבו נמצאים הצמתים. -
NODE_GROUP: השם של קבוצת הצמתים שבה רוצים לדמות את אירוע התחזוקה. -
NODE_NAMES: השמות של הצמתים שבהם רוצים לדמות את אירוע התחזוקה. מקיפים את שם הצומת במירכאות כפולות, לדוגמה,"node-1". כשמציינים כמה שמות של צמתים, צריך להשתמש בערכים מופרדים בפסיקים, למשל,"node-1","node-2","node-3".